Если ты запускаешь программу из компилятора то сначала при ошибке выводится стандартное исключение, а после этого только то, которое написал ты. При запуске программы *.exe-файла выведется только твоё исключение. Такой вариант очень неудобен при отладке, кто нибудь знает как заставить компилятор пропускать стандартные исключение, и не завершать работу наткнувшись на них.
Код | int func(int i, int j) { if((i == 0) || (j == 0)) { throw Exception("!!!"); // при отладке вылетит тут } else { return i * j; } }
void __fastcall TfrmMain::ButtonTestClick(TObject *Sender) { try { memo->Lines->Add(func(2,0)); } catch(Exception &exception) { memo->Lines->Add("Ахтунг"); } }
|
Даж такой простой кусок кода не протестишь на восстановление после ошибки. |