Неужели исключения так не популярны? Что, никто их не пользует???
Хех. Меня учили не говорить "за всех", поэтому скажу только за себя.
Их использует Страуструп
И об их преимуществах написано у него.
Типа:
1) Коды ошибок плохо, потому что при большой вложенности передавать их вверх неудобно. Вот исключения рулят. Там стек вызовов раскручивается и все в шохоладе.
2) Обработать код ошибки можно забыть. А неперехваченное исключение всегда даст о себе знать.
3) Это просто круто.
У меня немного другое мнение
1) Если вложенность большая - значит это как-то надо исправлять, т.к. или спроектирована программа хреново или просто она "повзрослела". В любом случае спагетти из исключений изящества не добавит.
2) Т.к. мне неизвестно определение "исключительной" ситуации, то и поделить все ситуации на рабочие и "исключительные" я не могу. Единственное. что приходит в голову на тему "исключительности" - это когда оператор new память выделить не может.
3) Это не очень круто т.к. бинарник растет на треть(привет смартфонам) и добавляется немного тормозов. По версии Страуструпа - это из-за кривых компиляторов. Но ссылки на прямые компиляторы он не дает.
4)Раньше программисты использовали механизм исключений для посылки сообщений, но сейчас для этого есть механизмы сигнал-слот.