Функция 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
Категория
Функции обработки системных параметров