Въпрос за C++ Exception Handling

2 отговора 143 прегледа
#1

Въпрос за C++ Exception Handling

Обяснете как точно функционира конструкцията:

try ... catch ... throw

щото нещо не ми е ясно кво хвърля throw, кво хваща catch ... без кое може, без кое не може...
try блокът ми е ясен :))))

10x

Дотук добре!
казал падащия от 13-тия етаж, като минал покрай 8-мия.
Отговор
в отговор на orange! #2

Re: Въпрос за C++ Exception Handling

С две думи - catch хваща това, което е хвърлил throw. Ако имаш try, без catch няма как да минеш. throw от друга страна можеш и никога да не използваш - достатъчно е някоя функция, която ползваш наготово, да хвърля някой exception. Естествено можеш и изобщо да не ползваш try-catch. Тогава при първия появил се exception програмата спира. Ако не ти е ясно защо спира - прочети внимателно за размотаване на стека (stack unwinding).

стой та гледай
Отговор
в отговор на orange! #3

Re: Изключения в Си

В MSDN има прекрасна статия за изключенията в Си.

Отговор