Смехотворец
Зарегистрирован: 28 March 2005
Сообщения: 1134
Примеры кода: 1
|
RE: Обработка исключений в .net (вопрос знатокам). |
23 June 2008 00:21 |
|
|
|
|
Хотя лутший совет предложил secondstar:
DoSmthElse(), как функция, которая пишет в лог, должна быть составлена так, чтобы она не вызывала исключений ни при каких условиях.
Не, не всё так просто. Дело в том, что DoSmthElse() вовсе не логгер, и его исключения маскировать нельзя. Совет secondstar вообще не подходит, т.к. в общем случае использование try ... catch без спецификации может замаскировать исключение, разрушающее общее состояние (shared state) и продолжение работы вообще не понятно чем может обернуться. В моём приложении это не допустимо, поэтому я и парюсь по поводу маскировки, т.е. на самом деле я боюсь, что DoSmthElse() может вызвать обрабтываемое исключение, которое замаскирует необрабатываемое из DoSmth(). Опускать обработчик в catch как-то не прёт, т.к. он выше по стеку вызовов находится, а catch-е ему-то и данных для обработки исключения не хватает, придется еще придумывать, как их туда засунуть. Программирую за еду.
|
|