|
|
|
Глобальный отлов ошибок
|
|||
|---|---|---|---|
|
#18+
Приветствую, All Не подскажете как к вба сделать глобальный отлов ошибок нужна конструкция подобная паскалевскому try..except Задача следующая Есть процедура, в которой вызывается множество процедур. Надо если в какой-либо процедуре возникает ошибка(делаю err.raise) поймать её и, в соотвествии с её кодом, обработать Заранее спасибо за любую помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 15:49:29 |
|
||
|
Глобальный отлов ошибок
|
|||
|---|---|---|---|
|
#18+
Все разрулил вот пример Sub OnErrorStatementDemo() On Error GoTo ErrorHandler' Включаем программу обработки ' ошибок. Open "TESTFILE" For Output As #1' Открываем файл. Kill "TESTFILE"' Попытка удалить открытый ' файл. On Error Goto 0' Отключаем перехват ошибок. On Error Resume Next' Откладываем перехват ошибок. ObjectRef = GetObject("MyWord.Basic")' Запускаем несуществующий ' объект, а затем проверяем ' ошибку механизма управления ' программируемыми объектами. If Err.Number = 440 Or Err.Number = 432 Then ' Выводим сообщение для пользователя и очищаем объект Err. Msg = "Ошибка при попытке открыть программируемый объект!" MsgBox Msg, , "Проверка отложенной ошибки" Err.Clear' Очищаем поля объекта Err. End If Exit Sub' Выходим из процедуры, чтобы ' не попасть в обработчик. ErrorHandler:' Обработчик ошибок. Select Case Err.Number' Определяем код ошибки. Case 55' "Ошибка "Файл уже открыт". Close #1' Закрываем открытый файл. Case Else ' Здесь размещаются инструкции для обработки других ошибок... End Select Resume' Возобновляем выполнение ' со строки, вызвавшей ошибку. End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 16:06:19 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2185528]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 307ms |

| 0 / 0 |
