�@ �@

�A��

������
�v���t�F�b�V���i��VB.NET�v���O���~���O

Chapter 09�@��O����

������Ѓs�[�f�[ �얓 ��
2004/06/10


�@�{�L���́A�i���j�Z�p�]�_�Ђ����s���鏑�ЁwVB6�v���O���}�[�̂��߂̓���@Visual Basic .NET �ƏK�u���x�̈ꕔ�������‚𓾂ē]�ڂ������̂ł��B�����ЂɊւ���ڂ������ɂ‚��ẮA�{�L�����Ō��Ɍf�ڂ��Ă��܂��B

�\������O�����Ɣ�\������O�����̍��p

�@�\������O�����Ɣ�\������O�����̋@�\�𓯎��Ɏg�����Ƃ��ł��邾�낤���H �Ⴆ�΁A��L�̃T���v���E�\�[�X�ŃG���[�̎�ނ𔻒肷�邽�߂ɁAErr�I�u�W�F�N�g���g���邾�낤���H ���X�g9-9�͂�����m�F���邽�߂ɋL�q�����T���v���E�\�[�X�ł���B

 1: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 2:   Dim i As Integer
 3:   For i = -2 To 2
 4:     Dim j As Integer
 5:     Try
 6:       j = 10 \ i
 7:     Catch ex As Exception
 8:       If Err.Number = 11 Then
 9:         Trace.WriteLine("��")
10:       Else
11:         Throw
12:       End If
13:     End Try
14:     Trace.WriteLine(j)
15:   Next
16: End Sub
���X�g9-9�@�\������O�����Ɣ�\������O�����̋@�\�𓯎��Ɏg�p�����v���O����

�@��������s����ƈȉ��̂悤�ɂȂ�B�������A�V�X�e������̃��b�Z�[�W�͏����Ă���B

1: -5
2: -10
3: ��
4: -10
5: 10
6: 5
���X�g9-10�@���X�g9-9�̎��s����

�@�\������O�����̒��ŁA��\������O�����p��Err�I�u�W�F�N�g���g�p���ăG���[�ԍ��𒲂ׂĂ��邪�A�m���ɔ��肪���s����Ă���B�‚܂�A��O�N���X�̖��O�ł͂Ȃ��A�G���[�ԍ��ɂ��G���[�̎�ނ̔��肪�����ł��Ă���B

�@�������A���̂悤�ȕ��@�͂��܂肨���߂ł͂Ȃ��B���݂͂��܂��ܓ����Ă��邪�AVB.NET�̏����o�[�W�����œ��삷�邩������Ȃ����A���������A�����I�ɔ�\������O�������T�|�[�g����Ȃ��Ȃ�”\�����A�����ď������͂Ȃ��B�ł��邾���A�\������O���������ŋL�q����悤�ɐS�|����ق����悢���낤�B

On Error Resume Next

�@VB 6�ɂ́AOn Error Resume Next�X�e�[�g�����g������B����́A�G���[���������Ă����̂܂܎��̃X�e�[�g�����g�ɓ����i�߂�Ƃ������t�ȋ@�\���w�肷��B���R�A�G���[���N����ƃf�^�����ȓ��삪���������̖��Ӗ��ȃv���O�����ɂȂ��Ă��܂��B�ł́AOn Error Resume Next�X�e�[�g�����g�̑��݈Ӌ`�͉����Ƃ����ƁA�G���[����������”\���̂���X�e�[�g�����g�̎��s����ɁAErr�I�u�W�F�N�g���Q�Ƃ��āA�G���[�̗L�����m�F����悤�ȃv���O���~���O�X�^�C�����������邱�Ƃł���B���ۂ�VB 6�ŁA���̂悤�ȃX�^�C���ŋL�q�����\�[�X�����X�g9-11�Ɏ����B

 1: Private Sub Form_Load()
 2:   On Error Resume Next
 3:   Dim i As Integer
 4:   For i = -2 To 2
 5:     Dim j As Integer
 6:     j = 10 / i
 7:     If Err = 11 Then
 8:       Debug.Print "��"
 9:       Err.Clear
10:     End If
11:     Debug.Print j
12:   Next
13: End Sub
���X�g9-11�@On Error Resume Next�X�e�[�g�����g���g�p�����v���O����

�@��������s����ƈȉ��̂悤�ɂȂ�B

1: -5
2: -10
3: ��
4: -10
5:  10
6:  5
���X�g9-12�@���X�g9-11�̎��s����

�@��������ƁAOn Error Goto���g�p����ꍇ��菈���������I�ɂȂ��āA�����ǂ��₷���B�������A�v���O���}�[�����炩���ߑz�肵�Ă��Ȃ��G���[�����������ꍇ�ɂ́A���̂܂܏����������댯������B

�@���āA���̃\�[�X���ł��邾��������VB.NET��ɍČ��������̂����X�g9-13�ł���B

 1: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 2:   On Error Resume Next
 3:   Dim i As Integer
 4:   For i = -2 To 2
 5:     Dim j As Integer
 6:     j = 10 \ i
 7:     If Err.Number = 11 Then
 8:       Trace.WriteLine("��")
 9:       Err.Clear()
10:     End If
11:     Trace.WriteLine(j)
12:   Next
13: End Sub
���X�g9-13�@���X�g9-11��VB.NET�ōČ������v���O����

�@��������s����ƈȉ��̂悤�ɂȂ�B�������A�V�X�e������̃��b�Z�[�W�͏����Ă���B

1: -5
2: -10
3: ��
4: -10
5: 10
6: 5
���X�g9-14�@���X�g9-13�̎��s����

�@���Ă̂Ƃ���A�قƂ�Ǖς��Ȃ��\�[�X�E�R�[�h���g�p�ł��邱�Ƃ������邾�낤�B�������AOn Error Resume Next�X�e�[�g�����g�́A��\������O�����̋@�\��1�‚ł���B�ł́A�\������O�������g���āA�ǂ̂悤�ɋL�q����΂���ɑ�������\�[�X�E�R�[�h���쐬�ł��邾�낤���B

�@���_�������΁AOn Error Resume Next�X�e�[�g�����g�ɑ�������@�\�́A�\������O�����ɂ͊܂܂�Ă��Ȃ��B����́A���ׂẴG���[�������Öق̂����Ɍ��ߑł����Ă��܂����Ƃ��댯������A�Ɖ��߂��ׂ����낤�B�N���蓾��G���[�ɑ΂���Ή��R�[�h���A���ׂĖ����I��Try�X�e�[�g�����g��Catch�u���b�N�ŕ\�����邱�Ƃ́A�v���O�����̕i�������コ���邤���ňӖ������邱�Ƃł���B

�����̃G���[������

�@1�‚�Try�X�e�[�g�����g�ɋL�q�ł���Catch�u���b�N�́A1�‚Ɍ����Ȃ��B�‚܂�A1�‚�Try�X�e�[�g�����g�ŁA�����̗�O�N���X���L���b�`���邱�Ƃ��ł����B������s������̃T���v���E�\�[�X���������B�܂��AVB 6�Ńt�@�C�����J���ہA�t�@�C�������‚���Ȃ��ꍇ�ƃf�B���N�g�������‚���Ȃ��ꍇ�̏������L�q����������Ă݂悤�B

 1: Private Sub test(ByVal s As String)
 2:   On Error GoTo errorHandler
 3:   Open s For Input As #1
 4:   Close #1
 5:   Exit Sub
 6:
 7: errorHandler:
 8:   If Err = 53 Then
 9:     Debug.Print "�t�@�C�������‚���܂���: " & s
10:   ElseIf Err = 76 Then
11:     Debug.Print "�f�B���N�g�������‚���܂���: " & s
12:   Else
13:     Err.Raise (Err)
14:   End If
15:   Exit Sub
16: End Sub
17:
18: Private Sub Form_Load()
19:   test "c:\���݂��Ȃ��t�@�C��.txt"
20:   test "c:\���݂��Ȃ��f�B���N�g��\test.txt"
21: End Sub
���X�g9-15�@�����̃G���[�𓯎��Ɉ����v���O����

�@��������s����ƈȉ��̂悤�ɂȂ�B

1: �t�@�C�������‚���܂���: c:\���݂��Ȃ��t�@�C��.txt
2: �f�B���N�g�������‚���܂���: c:\���݂��Ȃ��f�B���N�g��\test.txt
���X�g9-16�@���X�g9-15�̎��s����

�@���āA��\������O������p����΁AVB.NET�ł���Ƃقړ����̃\�[�X���L�q�ł��邱�Ƃ��\���ł��邾�낤�B�ł́A�\������O�������g�p���ď����������ꍇ�A�ǂ̂悤�ȓ��e�ɂȂ邾�낤���B���ۂɋL�q���Ă݂��̂����X�g9-17�ł���B

 1: Private Sub test(ByVal s As String)
 2:   Try
 3:     FileOpen(1, s, OpenMode.Input)
 4:     FileClose(1)
 5:   Catch ex As System.IO.FileNotFoundException
 6:     Trace.WriteLine("�t�@�C�������‚���܂���: " & ex.FileName)
 7:   Catch ex As System.IO.DirectoryNotFoundException
 8:     Trace.WriteLine("�f�B���N�g�������‚���܂���: " & s)
 9:   End Try
10: End Sub
11:
12: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
13:   test("c:\���݂��Ȃ��t�@�C��.txt")
14:   test("c:\���݂��Ȃ��f�B���N�g��\test.txt")
15: End Sub
���X�g9-17�@���X�g9-15��Try�`Catch�ɂ�菑��������VB.NET�̃v���O����

�@��������s����ƈȉ��̂悤�ɂȂ�B�������A�V�X�e������̃��b�Z�[�W�͏����Ă���B

1: �t�@�C�������‚���܂���: c:\���݂��Ȃ��t�@�C��.txt
2: �f�B���N�g�������‚���܂���: c:\���݂��Ȃ��f�B���N�g��\test.txt
���X�g9-18�@���X�g9-17�̎��s����

�@�����Œ��ڂ��ׂ����Ƃ́A1�‚�Try�X�e�[�g�����g�ɑΉ�����Catch�u���b�N��2�‘��݂��邱�Ƃł���B���̂悤�ɁA1�‚�Try�X�e�[�g�����g�ɑΉ�����Catch�u���b�N�͂����‚ł��L�q���邱�Ƃ��ł����B

�@���āA��v�ȃe�[�}�ł͂Ȃ����A6�s�ڂ�ex.FileName�ɂ‚��Ă����������������悤�BSystem.IO.FileNotFoundException�N���X�́A���‚���Ȃ������t�@�C���̃t�@�C������ێ�����FileName�v���p�e�B�������Ă���B������Q�Ƃ��邱�ƂŁA��O�����̒��ŁA�G���[�E���b�Z�[�W��g�ݗ��Ă邱�Ƃ��e�ՂɂȂ�B���̂悤�ɁA��O�I�u�W�F�N�g����ނɂ���āA���e�ɑ��Ⴊ����ꍇ������B����́A1��ނ�Err�I�u�W�F�N�g�ł��ׂẴG���[��������\������O�����ɑ΂��钷���Ƃ�����B


�@INDEX
�@ [�A��] ������ �v���t�F�b�V���i��VB.NET�v���O���~���O
�@ Chapter 09�@��O����
�@   1�DOn Error Goto���g�p������\������O�����^Try�`Catch���g�p�����\������O����
  2�D�\������O�����Ɣ�\������O�����̍��p�^On Error Resume Next�^�����̃G���[������
�@   3�D��O���̊��p�^�l�X�g������O����
�@   4�D��O�̍Ĕ����^�v���O�����ɂ�薾���I�ɗ�O�𔭐�������
�@   5�D��O�̎���^InnerException�ɂ‚���
�@   6�D�\������O�����̊m���ȏI�������^Finally�u���b�N�̊m�����^�[���K�w����̗�O��Finally�u���b�N
�@
�u������ �v���t�F�b�V���i��VB.NET�v���O���~���O �v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j
- PR -

���ڂ̃e�[�}

�Ɩ��A�v��Insider �L�������L���O

�{�� ����
�\�����[�V����FLASH
"); adremove.push(adstrtmp[adstart]); } } for(var i = 0; i < adremove.length; i++){ adremove[i].parentNode.removeChild(adremove[i]); } adstr.sort().reverse(); adstr = adstr.join(""); return adstr; }