История изменений
Исправление Kroz, (текущая версия) :
1. Полностью отказаться от исключений не получится, так как на них завязана стандартная библиотека C++.
2. За перформансом в 99% случаев гоняются диванные теоретики. Но если очень хочется... В сравнении с if (...), когда исключения/ошибки не возникает, то код с исключениями быстрее. В случае возникновения исключения/ошибки, код с исключениями медленнее. Пруф. Далее можешь посчитать как часто у тебя будет код идти по exceptional ветке. И, да, как заметили выше, счет на наносекунды, именно поэтому я написал про теоретиков.
3. Я не видел пока программ без исключений, которые бы обрабатывали все возможные «исключительные» ситуации в вызываемых ими функциях. То есть код с исключениями безопасней, чем без них, при учете человеческого фактора. Disclamer: при нормальной реализации RAII.
4. Есть ситуации, когда без исключений никак или с жуткими костылями; например, конструкторы, перегруженные операторы и др.
То есть программировать на С++ без исключений как минимум глупо.
А чтобы от исключений не было мучительно больно, обязательно к просмотру Jon Kalb: Exception-Safe Coding in C++ part 1, part 2.
/thread
Исходная версия Kroz, :
1. Полностью отказаться от исключений не получится, так как на них завязана стандартная библиотека C++.
2. За перформансом в 99% случаев гоняются диванные теоретики. Но если очень хочется... В сравнении с if (...), когда исключения/ошибки не возникает, то код с исключениями быстрее. В случае возникновения исключения/ошибки, код с исключениями медленнее. Пруф. Далее можешь посчитать как часто у тебя будет код идти по exceptional ветке.
3. Я не видел пока программ без исключений, которые бы обрабатывали все возможные «исключительные» ситуации в вызываемых ими функциях. То есть код с исключениями безопасней, чем без них, при учете человеческого фактора. Disclamer: при нормальной реализации RAII.
4. Есть ситуации, когда без исключений никак или с жуткими костылями; например, конструкторы, перегруженные операторы и др.
То есть программировать на С++ без исключений как минимум глупо.
А чтобы от исключений не было мучительно больно, обязательно к просмотру Jon Kalb: Exception-Safe Coding in C++ part 1, part 2.
/thread