Будинки Розвиток Що таке блок ловлі? - визначення з техопедії

Що таке блок ловлі? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає Catch Block?

Блок лову в C # - це необов'язковий блок коду, який виконується при підвищенні винятку.


Блок лову є специфічною частиною виняткової конструкції обробки, і реалізується за допомогою ключового слова "лов" у поєднанні з ключовими словами "спробувати" та "нарешті" та утворює засоби для реалізації структурованої обробки винятків. Блок спробу включає захищений код, який може спричинити виняток. У ньому додаються заяви, які стосуються виняткових обставин і працюють на відновлення після таких несподіваних умов.


Блок лову утворює засоби для обробки винятків. Якщо їх не обробляти, це може призвести до припинення всієї програми до .NET часу запуску. Блок лову може використовуватися для обробки будь-яких або конкретних винятків.

"Техопедія" пояснює "Catch Block"

Модель обробки винятків у загальній мові виконання (CLR) дозволяє більше одного блоку вловлювання, кожен з яких призначений для обробки конкретного винятку. Щоразу, коли відбувається виняток, CLR шукає блок вилову, який обробляє виняток. Якщо в даний час спосіб виконання не містить такого блоку, CLR шукає його в методі, який викликав поточний метод в стек виклику. Якщо у всьому коді не знайдено відповідного застереження для цього винятку, виконання потоку зупиняється, а користувачеві відображається необроблене повідомлення про виняток.


Нижче наведено кілька порад, пов’язаних із використанням блоку вилову:

  • Тип винятку повинен бути вказаний до блоку вилову лише після того, як була визначена причина виникнення конкретних непередбачуваних винятків (наприклад, катастрофічна несправність системи, неправильне використання API тощо) та відновлення було здійснено, не залишаючи програму непослідовною або недійсний стан.
  • Блок улову повинен бути розміщений так, що більш менш конкретні винятки повинні бути вилучені перед менш конкретними.
  • Блок лову без параметрів називається "винятками з їжі", оскільки це може придушити серйозні проблеми, які важко налагодити.
  • Блок лову може бути централізованим, щоб він міг обробляти виняток із центрального місця.
  • Оператор "кидок" може бути використаний у блоці лову, для якого той самий об'єкт винятку, переданий під час кидка, може бути переданий знову під час повторного скидання.
  • Змінні, оголошені в пробному блоці, не можна використовувати поза ним.
  • Код не відновиться до пробного блоку після того, як буде виконаний блок лову.
  • Тестування коду обробника винятків у блоці вилову є надзвичайно важливим для уникнення злому програми.
  • Блок лову не слід використовувати для коду очищення.
  • Блок лову без параметрів не може використовуватися для обробки винятків, сумісних із системою, що не відповідає загальній мові (ті, які не отримані з System.Exception).
Це визначення було написано в контексті C #
Що таке блок ловлі? - визначення з техопедії