Перевірка винятків і використання винятків
- 6 хвилин
Раніше в цьому модулі ви дізналися, що помилки середовища виконання в C# називаються винятками, і що вам потрібно "зловити" їх, перш ніж вони аварійно завершують роботу програми. Справді? Ловлячи винятки, перш ніж вони зможуть аварійно завершити роботу програми, вони більше схожі на відеогру, ніж написати програму. Отже, що саме означає "зловити" виняток? Щоб відповісти на це запитання, потрібно почати з того, що таке виняток.
Які винятки?
Нижче наведено більш формальне визначення, яке описує виняток і як виняток використовується в програмі C#:
У C#помилки в програмі під час виконання поширюються через програму за допомогою механізму, який називається винятками. Винятки виникають за допомогою коду, який виявляє помилку та спійманий кодом, який може виправити помилку. Винятки можуть бути кинуті середовищем виконання .NET або кодом у програмі. Винятки представлено класами, отриманими з винятку. Кожен клас визначає тип винятку та містить властивості з відомостями про виняток.
Важливий
Це навчання не потребує глибокого розуміння класів .NET. Не хвилюйтеся, якщо це визначення трохи заплутане. Ви можете використовувати винятки в коді без глибокого розуміння класів.
У документації корпорації Майкрософт про винятки докладно описано. Однак це визначення містить потрібні відомості саме зараз. Зокрема, потрібно зрозуміти дві речі:
- Потрібно зрозуміти, які винятки є.
- Потрібно зрозуміти, як використовувати винятки в програмах.
Виняток можна вважати змінною, яка має додаткові можливості. Ви можете виконувати такі самі дії з винятками, що й зі змінними, наприклад:
- Ви можете створити різні типи винятків.
- Ви можете отримати доступ до вмісту винятку.
Що означає "кинути" і "зловити" виняток?
Терміни "кидок" і "улов" можна пояснити, оцінивши визначення винятку.
У другому реченні визначення йдеться про те, що "Винятки кинуто кодом, який виявляє помилку та спійманий кодом, який може виправити помилку". У першій частині цього речення повідомляється, що винятки створюються середовищем виконання .NET, коли в коді стається помилка. Друга частина речення повідомляє, що ви можете написати код, щоб спіймати виняток, який було кинуто. Крім того, код, який ловить виняток, може бути використаний для завершення коригувальних дій, сподіваюся, пом'якшуючи ситуацію, викликану кодом, який призвів до помилки. Іншими словами, ви можете написати код, який захищає програму в разі виникнення помилки.
Оцінивши це друге речення визначення, ви знаєте таке:
- Під час виконання створюється виняток, коли код викликає помилку.
- Виняток можна розглядати як змінну з деякими додатковими можливостями.
- Ви можете написати код, який отримує доступ до винятку та вживає заходів для виправлення.
У лишій частині визначення відображається повідомлення про те, що якщо середовище виконання .NET виявляє помилку, це створить виняток. Створений виняток містить відомості про помилку, що сталася. Код може спіймати виняток і виправити проблему, використовуючи відомості, збережені в винятку.
Коротко
Ось кілька важливих речей, які слід пам'ятати з цієї одиниці:
- Винятки використовуються в C# для розповсюдження помилок під час виконання та представлені класами, отриманими від
Exceptionкласу. - Винятки виникають за допомогою коду, який виявляє помилку та спійманий кодом, який може виправити помилку.
- Коли виникне виняток, код може отримати доступ до його вмісту та вжити заходів з виправлення, щоб зменшити помилку.
- Середовище виконання .NET створює винятки, коли виявляє помилку, а виняток містить відомості про тип помилки, що сталася.
Перевірити свої знання
Зворотний зв’язок
Чи була ця сторінка корисна?
Ні
Потрібна допомога із цією темою?
Хочете скористатися Ask Learn, щоб отримати пояснення чи інструкції із цієї теми?