«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Стоит ли заморачиваться со спецификаторами исключений C++?

Стоит ли заморачиваться со спецификаторами исключений C++?

Опубликовано 8 ноября 2024 г.
Просматривать:863

Are C   Exception Specifiers Worth the Trouble?

Спецификаторы исключений в C: стоит ли их использовать?

Спецификаторы исключений в C позволяют указать, может ли функция генерировать исключения определенного типа. типы. Однако возникают сомнения относительно их реальной полезности из-за опасений по поводу принудительного исполнения компилятора, завершения программы и нестандартного поведения в Visual Studio .NET.

Почему бы не использовать спецификаторы исключений:

  1. Ограниченное применение: Компиляторы не обеспечивают строгого соблюдения спецификаторов исключений, что снижает преимущества, которые они получают. предоставить.
  2. Завершение программы: Нарушение спецификатора исключения может привести к завершению программы вместо создания ожидаемого исключения.
  3. Проблемы расширяемости: Исключение спецификации могут затруднить расширение функций за счет добавления дополнительных типов исключений.
  4. Интеграция устаревшего кода: Это сложно полагаться на спецификации исключений при работе с устаревшим кодом с непредсказуемым поведением исключений.
  5. Практика обработки ошибок: Современные методы обработки ошибок предпочитают возвращать распространенные ошибки и создавать исключения только для исключительных ситуаций.

Несмотря на эти недостатки, могут быть случаи, когда использование спецификаций исключений может прояснить намерение, особенно при работе с библиотеками, которые выдают только определенные вами исключения.

Подводя итог, хотя спецификаторы исключений могут обеспечить некоторые преимущества, их ограничения и проблемы часто перевешивают их преимущества. Обычно рекомендуется избегать их использования в большинстве случаев и вместо этого сосредоточиться на внедрении надежных методов обработки ошибок.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3