Вопрос наверное тривиальный, но я на практике редко сталкивался с исключениями. Расскажите как определить что мы отловили?
try {
// чего-то делаем
}
catch (...) // ловим все
{
// как определить, что мы поймали?
}
Вообще говоря, в catch(...) — никак.
Нужно делать отдельные catch() на определённые типы исключений. Кажется,
у Страуструпа это достаточно подробно описано.
Linuxoid wrote:
> Вопрос наверное тривиальный, но я на практике редко сталкивался с исключениями. Расскажите как определить что мы отловили?
>
> >
> try {
> // чего-то делаем
> }
> catch (...) // ловим все
> {
> // как определить, что мы поймали?
> }
>
>
Posted via RSDN NNTP Server 1.9 delta
Здравствуйте, Linuxoid, Вы писали:
L>Вопрос наверное тривиальный, но я на практике редко сталкивался с исключениями. Расскажите как определить что мы отловили?
L>
L>try {
L> // чего-то делаем
L>}
L>catch (...) // ловим все
L>{
L> // как определить, что мы поймали?
L>}
L>
Никак. ИМХО это и не нужно. Допустим, что ты как-то определил, что за исключение реально произошло (т.е. фактически определил
тип пойманного объекта). Что дальше? Дальше можно как-то отреагировать на одни типы, и проигнорировать другие — т.е. организовать что-то типа switch — а. Однако этой функциональности можно добиться, определив несколько хэндлеров.
Здравствуйте, Linuxoid, Вы писали:
L>я на практике редко сталкивался с исключениями.
ну раз так, то хочу посоветовать тебе статью
здесь
особо обрати внимание на последний абзац про catch(...)