Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba try catch excel

Vba try catch excel

Вопросов: 130
Ответов: 6596Добавлено: 17.01.07 08:19

А почему ты решил что эти методы могут вызывать исключения? Согласно документации, которой я склонен доверять, ни одно исключение при вызове этих методов не генерируется.

На самом деле намутил ты конечно конкретно — честно — никогда еще не видел таких больших нефункциональных блоков Try-Catch

В внешнем Try поставь

Но я бы сделал так:

Код гарантирует освобождение неуправляемых ресурсов вне зависимости от того как пройдет выполнение кода.

Ответить

ну во-первых это могут dispose не только от мелкомягких классов, но и от моих собственных — а там я могу код какой угодно воткнуть.

Ответить

Номер ответа: 2
Автор ответа:
Neco

Вопросов: 133
Ответов: 882

Добавлено: 17.01.07 12:00

Ответить

Номер ответа: 3
Автор ответа:
Neco

Вопросов: 133
Ответов: 882

Добавлено: 17.01.07 12:08
Номер ответа: 4
Автор ответа:
EROS

Вопросов: 58
Ответов: 4246

Добавлено: 17.01.07 12:17
Finally должен выполняться в любом случае.. Другое дело что внутри этого блока исключения тоже генерируются и их надо перехватывать. И вызов Dispose (имхо) это лишнее в данной ситуации.. А вообще Using обеспечивает уничтожение объекта после выхода из этого блока..

Ответить

Номер ответа: 5
Автор ответа:
EROS

Вопросов: 58
Ответов: 4246

Добавлено: 17.01.07 12:19
А у тебя он не выполняется потому что внутри блока Catch стоит Throw ex, а это по сути тоже самое исключение которое генерируется тобой и нигде не перехватывается..

Ответить

Если ты в Dispose воткнул «какоу угодно код» то дополнительный блок Try тебя не спасет от ситуации.

Кстати что касается OracleConnection, утром не досмотрел.

Достаточно сделать Dispose — он сам закрывает соединение.

сори, не досмотрел.

еще раз сори, сказалось 30-часовое отсутствие сна

Ответить

Номер ответа: 6
Автор ответа:
Artyom

Вопросов: 130
Ответов: 6596

Добавлено: 17.01.07 16:23
Номер ответа: 7
Автор ответа:
BUMM ®

Вопросов: 8
Ответов: 482

Добавлено: 25.01.07 01:52
Перед тем как закрывать connection прверь состояние:

try
.
.
Catch ex As Exception
msgbox(ex.message)
Finally
If not ((ora_conn is nothing) or (ora_conn.State = ConnectionState.Closed)) then
ora_conn.close()
end if
end try

А почему ты решил что эти методы могут вызывать исключения? Согласно документации, которой я склонен доверять, ни одно исключение при вызове этих методов не генерируется.

если connection уже закрыт и ты второй раз пытаешься его закрыть, будет исключение.

Ответить

Номер ответа: 8
Автор ответа:
Artyom

Вопросов: 130
Ответов: 6596

Добавлено: 25.01.07 07:25
MSDN:

поэтому никакого гемороя с проверками не требуется.

Читать еще:  Неизвестный формат файла excel
Ссылка на основную публикацию
Adblock
detector