Дом развитие Что такое блок улова? - определение из техопедии

Что такое блок улова? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает Catch Block?

Блок catch в C # является необязательным блоком кода, который выполняется при возникновении исключения.


Блок Catch является специфической частью конструкции исключительной обработки и реализуется с использованием ключевого слова «catch» в сочетании с ключевыми словами «try» и «finally» и формирует средства для реализации структурированной обработки исключений. Блок try содержит защищенный код, который может вызвать исключение. Он включает заявления, которые касаются исключительных обстоятельств и работает, чтобы оправиться от таких неожиданных условий.


Блок Catch формирует средства для обработки исключений. Если они не обрабатываются, это может привести к завершению всей программы во время выполнения .NET. Блок catch может использоваться для обработки любых или определенных исключений.

Техопедия объясняет ловушку

Модель обработки исключений Common Language Runtime (CLR) допускает более одного блока перехвата, каждый из которых предназначен для обработки конкретного исключения. Всякий раз, когда возникает исключение, CLR ищет блок catch, который обрабатывает исключение. Если выполняемый в настоящее время метод не содержит такого блока, CLR ищет его в методе, который вызвал текущий метод в стеке вызовов. Если во всем коде не найдено соответствующее предложение для этого исключения, выполнение потока останавливается, и пользователю отображается необработанное сообщение об исключении.


Ниже приведены несколько советов, связанных с использованием блока catch:

  • Тип исключения должен быть указан в блоке перехвата только после того, как была определена причина возникновения определенных непредсказуемых исключений (таких как катастрофический сбой системы, неправильное использование API и т. Д.), И восстановление было выполнено, не оставляя приложение в несогласованном или недопустимое состояние.
  • Блок перехвата должен быть расположен так, чтобы более конкретные исключения должны были быть перехвачены раньше, чем менее конкретные.
  • Блок захвата без параметров называется «исключениями при приеме пищи», потому что это может подавить серьезные проблемы, которые трудно отладить.
  • Блок захвата может быть централизован, чтобы он мог обрабатывать исключение из центрального местоположения.
  • Оператор throw может использоваться в блоке catch, для которого тот же объект исключения, переданный в throw, может быть снова передан во время повторной обработки.
  • Переменные, объявленные в блоке try, не могут использоваться вне его.
  • Код не вернется к блоку try после выполнения блока catch.
  • Тестирование кода обработчика исключений в блоке catch необходимо во избежание взлома приложения.
  • Блок Catch не должен использоваться для кода очистки.
  • Блок Catch без параметров не может использоваться для обработки исключений, не совместимых с Common Language System (тех, которые не получены из System.Exception).
Это определение было написано в контексте C #
Что такое блок улова? - определение из техопедии