Оглавление:
Определение - Что означает обработка исключений?
Обработка исключений - это механизм, в котором программная конструкция используется для постоянного перехвата, перехвата и обработки ошибки, возникшей во время выполнения приложения. Common Language Runtime (CLR) .NET Framework разработан для использования модели обработки исключений, основанной на объектах исключений и защищенных блоках кода.
Функции механизма обработки исключений, реализованные в CLR:
a) Каждый язык может иметь свою спецификацию для обработки исключений без каких-либо ограничений.
б) Исключения генерируются и обрабатываются независимо от используемого языка и типа кода (управляемый или неуправляемый)
c) Исключения могут быть брошены через границы процесса или машины
Техопедия объясняет обработку исключений
Среда выполнения .NET генерирует исключения как объекты, производные от класса System.Exception, которые содержат подробности ошибки, включая сообщение и строку кода, где произошла ошибка, и т. Д. Конструкция try..catch..finally используется для обработки исключений. Хотя блоки «try» (где ожидаются исключения) и «catch» (где обрабатываются исключения) являются обязательными, блок finally (где код выполняется в любом случае) является необязательным.
По сравнению с обработкой ошибок, реализованной с использованием традиционных методов, таких как использование кода возврата, как в объектной модели компонентов (COM), и операторов go, как в Visual Basic и т. Д., Основными преимуществами исключений в .NET являются перехват всех сбои, устранение процесса проверки возвращаемого значения и его использования (если оно недействительно) в приложениях, использование в сценариях, где нет возвращаемого значения, таких как конструкторы, повышение надежности и повышение производительности.
Хотя Java предоставляет «проверенные» исключения, которые помогают предотвратить возникновение необработанных исключений во время компиляции, они не могут использоваться для ошибок, которые являются неисправимыми сбоями. Обработка исключений в C ++ отличается от обработки в .NET отсутствием блока «finally» для очистки ресурсов и без каких-либо ограничений для типа исключения.



