Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.12.01;
Скачать: CL | DM;

Вниз

Подавление всех Exception кроме определенного   Найти похожие ветки 

 
Человек   (2011-10-23 11:36) [0]

Есть код вида:

try
 Func();
except on E:Exception do
 if E is EMyException then
   raise EMyException.Create(E.Message);
end;

Смысл: нужно подавить все возможные exception, которые могут быть сгенерированы в функции Func(), кроме EMyException. Синтаксис Delphi позволяет сделать наоборот, т.е. подавить конкретный тип, а остальные пропустить.
Пробовал делать просто

except on E:Exception do
 if E is EMyException then
   raise E;
end;

Но такой код выдает AV.

Есть ли более красивое решение, чем то что я написал (заново создавать и генерировать Exception нужного типа, копируя все параметры старого)?


 
_Юрий   (2011-10-23 11:43) [1]

except on E:Exception do
if E is EMyException then
  raise;


 
Anatoly Podgoretsky ©   (2011-10-23 12:50) [2]

> Человек  (23.10.2011 11:36:00)  [0]

On EMyException do ....


 
sniknik ©   (2011-10-23 13:14) [3]

> Есть ли более красивое решение
есть. убрать "подавление" вообще. если прогу будут поддерживать, а не для "корзины" пишешь.

вот так к примеру, чтобы только "My" показывались пользователю
except
 on E: EMyException Exception do raise;
 on E: Exception do SaveToLog(E);
end;


 
Человек   (2011-10-23 14:03) [4]

Всем спасибо, помогло.



Страницы: 1 вся ветка

Текущий архив: 2013.12.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
15-1370896203
Юрий
2013-06-11 00:30
2013.12.01
С днем рождения ! 11 июня 2013 вторник


15-1370809802
Юрий
2013-06-10 00:30
2013.12.01
С днем рождения ! 10 июня 2013 понедельник


15-1370938997
[ВладОшин]
2013-06-11 12:23
2013.12.01
Переписать расчеты с клиента на сервер


15-1370338471
Els
2013-06-04 13:34
2013.12.01
Какой лучше антивирус выбрать


15-1371109866
картман
2013-06-13 11:51
2013.12.01
адвокаты, нотариусы и подобные