Джоэл ссылается
тут и
тут на
статью Реймонда Чена, выступающую против исключений. Перечитать со всеми ссылками.
В общем, аргумент насчёт того, что при наличии exceptions отследить глазом все неявные переходы почти невозможно, верен, -
если не принимать во внимание инструментальную поддержку.
Java checked exceptions, увы, не имеют аналогов в мейнстриме (как я его вижу; читай - C#, C++). Если рассматривать
только код в нотепаде, то да, но - у нас есть IDE и компилятор, который сильно облегчает поиск проблем с checked exceptions. Возможен и компилятор C++, выдающий warnings по образу compile-time ошибок Java с checked exceptions.
С третьей стороны, просто читая код, так-таки не увидишь этих "неявных goto".
Надо посчитать, насколько предупреждения/ошибки компилятора о checked exceptions помогают отличить правильный код от неправильного.
Upd: Добавляю свой старый конспект с нашей локальной тусовки, которую наадеюсь продолжить с осени.
1. Checked vs unchecked exceptions.
( Read more... )