Смехотворец
Зарегистрирован: 28 March 2005
Сообщения: 1133
Примеры кода: 1
|
Обработка исключений в .net (вопрос знатокам). |
22 June 2008 21:58 |
|
|
|
|
Пусть у нас есть такой метод:
void Test() {
try {
DoSmth();
}
catch {
DoSmthElse();
throw;
}}
Пусть DoSmthElse() нельзя перенести в finally, т.к. нужно, чтобы он выполнялся только в случае возникновения исключения (положим, это запись ошибки в какой-нибудь лог или еще что-нибудь в этом роде).
Проблемма: если DoSmthElse(); сам киданёт исключение, оригинальное исключение из DoSmth() окажется замаскированным. Это может привести, например, к тому, что если Test() вызывается из try ... catch допускающим обработку исключений из DoSmthElse(), программа нормально продолжит работу, что бы там ни было в оригинальном исключении (что не правильно).
Вопрос: как разрулить ? Программирую за еду.
|
|