Основная проблема с проверенными исключениями состоит в том, что в некоторых (многих?) Случаях вы пишете код так, что исключение никогда не возникает, или вам все равно, если оно происходит, вынуждая пользователя «ловить» non-throwable или nonвосстанавливаемые исключения и тому подобное.Затем вы должны рассмотреть случай, когда пользователю все равно, заканчивается ли его приложение проверенным исключением, скажем, любителем или разработчиком.Теперь вам нужно пойти и пометить каждую функцию с каждым проверенным исключением, которое может когда-либо возникнуть, даже с теми, которые возникли бы, только если вы запустили марсианскую виртуальную машину Java с голубой луной.C ++ - это отличная идея, но язык имеет только самую примитивную реализацию, и количество метафорических волокит, окружающих все это, ужасно, до такой степени, что может быть проще просто не иметь ни черта.
Я не знаю ни одного другого языка, который бы проверял исключения.
В C ++ не генерируются примитивные операции и не многие из более сложных операций или библиотечных функций.В C ++, как правило, гораздо меньше исключений.Я не могу говорить за C #.Особенность C ++ заключается в том, что если вы получите необработанное исключение, ваш отладчик с легкостью сообщит вам, откуда оно пришло, сделав его относительно простым для поиска и устраняя необходимость в куче catch(something) { printfailure("funcname"); abort_program(); }
повторяющихся уловов.