русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Обробка виняткових ситуацій


Дата додавання: 2015-01-08; переглядів: 965.


 

Виняткова ситуація, або виключення, - це виникнення аварійної події, яка може породжуватися некоректним використанням апаратури або неправильною роботою програми, наприклад діленням на нуль або переповнюванням. Зазвичай ці події приводять до завершення програми з системним повідомленням про помилку. С# дає програмістові можливість відновити працездатність програми і продовжити її виконання.

Виключення С# не підтримують обробку асинхронних подій, таких як помилки устаткування або переривання, наприклад натиснення клавіш Ctrl+C. Механізм виключень призначений тільки для подій, які можуть відбутися в результаті роботи самої програми і указуються явним чином. Виключення виникають тоді, коли деяка частина програми не змогла зробити те, що від неї було потрібно. При цьому інша частина програми може спробувати зробити що-небудь інше.

Виключення дозволяють логічно розділити обчислювальний процес на дві частини - виявлення аварійної ситуації і її обробка. Це важливо не тільки для кращої структуризації програми. Виключення генерує або середовище виконання, або програміст за допомогою оператора throw. У таблиці 4.1 приведені найбільш часто використовувані стандартні виключення, що генеруються середовищем. Вони визначені в просторі імен System. Всі вони є нащадками класу Exception, а точніше, нащадками його нащадка SystemException. Виключення виявляються і обробляються в операторові try.

 

Таблиця 4.1.

Часто використовувані стандартні виключення.

Ім'я Опис
ArithmeticException Помилка в арифметичних операціях або перетвореннях (є предком Dividebyzeroexception і Overflowexception)
ArrayTypeMismatchException Спроба збереження в масиві елементу несумісного типу
DivideByZeroException Спроба ділення на нуль
FormatException Спроба передати в метод аргумент невірного формату
IndexOutOfRangeException Індекс масиву виходить за межі діапазону
InvalidCastException Помилка перетворення типу
OutOfMemoryException Недостатньо пам'яті для створення нового об'єкту
OverFlowException Переповнювання при виконанні арифметичних операцій
StackOverFlowException Переповнення стека

 


<== попередня лекція | наступна лекція ==>
Цикл з параметром for | Оператор try


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн