У меня есть дискуссия о том, каким путем перейти в новый проект на С++. Я предпочитаю исключения по кодам возврата (только для исключительных случаев) по следующим причинам -
- Конструкторы не могут предоставить код возврата
- Отменяет путь отказа (который должен быть очень редок) от логического кода, который является более чистым
- Быстрее в не исключительном случае (нет проверки, если/еще сотни тысяч раз)
- Если кто-то завинчивает настройки кода возврата (забывает вернуть FAIL), для отслеживания может потребоваться очень много времени.
- Лучшая информация из сообщения, содержащегося в ошибке. (Мне было указано, что возвращаемый список может сделать то же самое для кодов ошибок)
- От Jared Par Невозможно игнорировать без кода, специально разработанного для его обработки.
Это те моменты, о которых я подумал, и из поисковых запросов Google. Я должен признать, что он был предрасположен к исключениям, которые работали на С# в течение последних нескольких лет. Пожалуйста, укажите дополнительные причины использования исключений по кодам возврата. Для тех, кто предпочитает коды возврата, я также хотел бы выслушать ваши рассуждения. Благодаря