Erl
Функция Erl
Erl()
Недокументированная функция Erl(Error line) определяет локальный номер строки, в которой произошла последняя ошибка времени исполнения. Может быть полезной при отладке сложных процедур, в которых по номеру ошибки, выдаваемому объектом Err, сложно определить ее происхождение. Рекомендуется использовать в бета-версиях программ, что позволить узнать места ошибок. Для этого надо включить информацию из нее в каждый обработчик ошибок и перенумеровать все строки внутри процедур (Существуют Add-in, позволяющие перенумеровать все строки)
Возвращаемое значение
Функция возвращает значение типа Long, содержащее значение номера строки. Локальные номера строк задаются программистом. Если на строке, в которой произошла ошибка, номера не задано, функция возвращает ноль
Параметры
Функция не имеет параметров
Пример
' Пример использования функции Erl
' при попытке выполнить ошибочную операцию
' Вставьте код в General Declarations
Private Const MODULE_NAME As String = "Form1"
' Код для кнопки Command1
Private Sub Command1_Click()
On Error GoTo Error_In_Command1_Click:
1 Dim sErrorDescription As String
2 Const sProcSig = MODULE_NAME & "Command1_Click"
' Неправильный код. Кнопки Command2 не существует
3 Debug.Print Command2.Show
4 Exit Sub
' Обработчик ошибки
Error_In_Command1_Click:
5 With Err
6 sErrorDescription = "Ошибка '" & .Number & " " & _
.Description & "' произошла в " & sProcSig & _
IIf(Erl < > 0, " на строке " & CStr(Erl) & ".", ".")
7 End With
8 Select Case MsgBox(sErrorDescription, _
vbAbortRetryIgnore, _
App.Title & " Error")
Case vbAbort
9 Resume Exit_Command1_Click:
10 Case vbRetry
11 Resume
12 Case vbIgnore
13 Resume Next
14 Case Else
15 End
16 End Select
Exit_Command1_Click:
End Sub
Категория
Функции обработки системных параметров
|