|
|
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Всем привет. У меня такой вопрос. А могу ли я внутри catch-блока выполнять потенциально опасный с точки зрения эксепшенов код. Например так: try { DoSometing(); } catch(ESomeException & ex) { NotifyUser(); // может генерить эксепшен } Я знаю, что следующий код типа try { } catch(ESomeException & ex) { throw ESomeOtherException(); } или обыкновенный rethrow нормально работает и абсолютно легален. Но дело в том, что код который приведен вначала у меня почему-то не фурычит. В среде (VS2005) в режиме отладки я вылетаю где-то внутри NotifyUser(), и все, дальше управление на внешние обработчики эксепшенов не передается. Может кто знает об этом или сам сталкивался. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 13:48 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 13:58 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Можно еще один try вложить. А у тебя снаружи тоже обработчики стоят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 13:59 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Да снаружи стоит общий обработчик, который все ловит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 14:22 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
egorovshuraДа снаружи стоит общий обработчик, который все ловит. Значит ты где-то ошибся. Такой код работатет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 14:28 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Кстати, в режиме отладки в delphi, вроде, тоже ексепшины не отлавливаются. Может это особенность отладочного режима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 14:30 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
AkhКстати, в режиме отладки в delphi, вроде, тоже ексепшины не отлавливаются. Может это особенность отладочного режима. Это задается в настройках среды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 15:13 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) AkhКстати, в режиме отладки в delphi, вроде, тоже ексепшины не отлавливаются. Может это особенность отладочного режима. Это задается в настройках среды Значит, настроить надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 15:28 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Akh Gluk (Kazan) AkhКстати, в режиме отладки в delphi, вроде, тоже ексепшины не отлавливаются. Может это особенность отладочного режима. Это задается в настройках среды Значит, настроить надо. Кому ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 15:45 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Akh Gluk (Kazan) AkhКстати, в режиме отладки в delphi, вроде, тоже ексепшины не отлавливаются. Может это особенность отладочного режима. Это задается в настройках среды Значит, настроить надо. Кому ??? Глюк, ну не тебе же. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 16:05 |
|
||
|
Exception внутри catch
|
|||
|---|---|---|---|
|
#18+
Все кажись разобрался. Все нормально работает. Это просто у меня внутри вызывалась функция из сторонней библиотеки, а там внутри много раз подряд эксепшен один и тот же вылетал. Вот я и решил, что что-то не то. Всем спасибо. Насчет Delphi там можно настроить какие эксепшены отладчик будет ловить, а какие пропускать. Настраивается вроде Tools/Environment Options/Debugger или что-то в этом роде, дельфи нету под рукой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=319&tid=2029872]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 414ms |

| 0 / 0 |
