Visual Basic 6. Руководство разработчика


         

Обработка ошибок класса - часть 2


Программа 15.16. Обработка ошибок сгенерированных классом AXStat

Private Sub Command5_Click()

On Error Resume Next

STATS.Remove 9999

If Err.Number <> 0 Then

MsgBox "ERROR # " & Err.Number - vbObjectError _

& vbCrLf & Err.Description & vbCrLf & "In " & Err.Source

' (Ошибка №... в...)

End If

End Sub

Private Sub Command6_Click ()

On Error Resume Next

STATS.Item 9999

If Err.Number <> 0 Then

MsgBox "ERROR #" & Err.Number - vbObjectError _

& vbCrLf & Err.Description & vbCrLf & "In " & Err.Source

' (Ошибка N". . . в. . . )

End If

 End Sub

Номер ошибки и ее источник устанавливаются в программном коде класса, методом Raise объекта Err, как показано ранее. Для определения действительного номера ошибки, сгенерированной классом, вычтите константу vbErrorObject

из значения Err.Number. Еще лучше, объявить несколько констант в коде, которые соответствуют значениям ошибок. Ниже приведен перечислимый тип с ошибками, которые генерируются классом AXStats:

Public Enum AXStatErrors

AddError = 1

RemoveError = 2

End Enum

Константы значений ошибок появятся в броузере объектов под классом AXStatsErrors, и их можно использовать в коде приложения в виде выражений AXStatErrors.AddError и AXStatErrors. Remove Error.

Запустите приложение и щелкните на одной из двух кнопок справа на форме. Обе кнопки вызовут ошибку исполнения, пытаясь получить доступ к элементу с индексом 9999. Приложение остановится и выдаст сообщение об ошибке. Почему тестовый проект не перехватил ошибку исполнения с помощью его собственной подпрограммы обработки ошибок?

Ответ прост. По умолчанию Visual Basic в режиме конструирования останавли­вается в месте возникновения ошибки. Поэтому можно видеть строку, которая вызвала ошибку и исправить соответствующую процедуру в модуле класса. Если создать исполняемый файл и запустить его вне среды разработки, ошибка испол­нения будет перехвачена работающим приложением. Можно также изменить поведение механизма перехвата ошибок Visual Basic в процессе конструирования. Откройте меню Tools и выберите команду Options. В диалоговом окне Options, ко­торое появится на экране, выберите вкладку General, как показано на рис. 15.8.




Содержание  Назад  Вперед