В том, что обработка ошибок сосредоточена в специальных секциях, а не размазана по коду. В том, что неперехваченное исключение валит программу, а не проходит незамеченным.
Насчет строки и файла возникновения исключения - многие (все?) компиляторы предоставляют (нестандартизованные) средства узнать это.
Так и знал, что есть возможность создания костыля при помощи макросов. Теперь понимаю суть С++ - это набор "сделай сам" с большим количеством подпорок и костылей, созданный в условиях максимальной совместимости с С.
>> В том, что неперехваченное исключение валит программу, а не проходит незамеченным.
>Сомнительный аргумент, такие исключения ловить надо в main, что бы перед заказчиком потом стыдно не было :)
Отличный аргумент - на этапе отладки ошибки не уходят незамеченными. А перед сдачей можно поставить catch (...) в main, и выводить то, что обсуждается в соседней ветке :)
seiken, ты прав. C++ извращённый язык. В нём всё приходится делать руками. Более того, это "всё" можно сделать таким извращённым способом, что некоторые даже со второго раза не просекут. Это язык для полных психов!
P.S. Вот за это я его и люблю! Он как раз для меня! :-)