Обработка исключений (программирование)

Обработка исключений (программирование) История и развитие исключений Исключения были введены в язык программирования PL/I в 1960-х годах.  Исключения использовались для […]

Обработка исключений (программирование)

  • История и развитие исключений

    • Исключения были введены в язык программирования PL/I в 1960-х годах. 
    • Исключения использовались для обработки ошибок, возникающих при выполнении программы. 
    • В 1970-х годах были разработаны языки программирования, поддерживающие исключения, такие как Ada и Pascal. 
  • Исключения в Java

    • Java представила исключения в 1995 году, что вызвало критику за сложность и избыточность. 
    • Исключения в Java требуют явной проверки параметров и возвращаемого значения. 
    • Многие программисты считают исключения раздражающими и неэффективными. 
  • Проблемы с проверенными исключениями

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

    • Ранние версии C++ включали спецификации исключений, но они не были применены во время компиляции. 
    • В OCaml существует анализатор неперехваченных исключений, который не требует синтаксических аннотаций. 
  • Динамическая проверка исключений

    • Для обеспечения надежности процедур обработки исключений необходимо тестировать код с различными входными данными. 
    • Существуют коммерческие системы для автоматизации тестирования обработки исключений. 
  • Асинхронные исключения

    • Асинхронные исключения возникают вне основного потока выполнения и могут быть трудно обработаны. 
    • Некоторые языки программирования ограничивают или избегают асинхронной обработки исключений. 
  • Системы кондиционирования

    • Некоторые языки, такие как Common Lisp, R, Dylan и Smalltalk, имеют систему условий, которая включает обработку исключений. 
    • Условия представляют собой обобщение исключений и могут быть проигнорированы или использованы для распространения подсказок. 
  • Постоянные исключения

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

Полный текст статьи:

Обработка исключений (программирование) — Википедия

Оставьте комментарий

Прокрутить вверх