Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cs4.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
94.21 Кб
Скачать

Обробка виключень(exceptions)

Виключення – це помилка, яка виникає під час виконання програми. Коли комп’ютер помічає таку помилку, він зупиняє виконання програми і видає відповідне повідомлення. В C#передбачено перехоплення виключень, що дозволяє спростити та прискорити виправлення помилок.

Розглянемо найпростіший спосіб обробки виключень. Основою є блоки, які визначаються ключовими словами try і catch. Частина програми, яку треба проконтролювати на предмет обробки виключень, заклечається в блок try. Виключення, яке виявлено в цьому блоку, передається в наступний за ним блок catch.Він виконує дії, які були задані програмістом. За одним блоком try може слідувати кілька блоків catch. Після виправлення помилки при повторних запусках відбувається пошук інших помилок. У випадку виявлення помилки операція return зупиняє роботу програми після try і catch блоків. Це необхідно тому, що ідентифікатори, які задіяні в try- блоці, після виходу із нього не сприймаються комп’ютером на стадії компіляції.

Між блоками try та catch не повинно бути записано жодної операції.

Синтаксис:

try

{

// частина програми для перевірки

}

catch(/*назва виключення*/)

{

//обробка виключення

return;

}

catch(/*назва виключення*/)

{

//обробка виключення

return;

}

catch // тут не вказано назви виключення

{

//обробка УСІХ виключень

return;

}

Якщо не вказано назву виключення, тоді обробляються усі виключення. Відповідний catch-блок повинен стояти останнім у списку catch-блоків. Якщо помилки відсутні, усі catch-блоки ігноруються. Продовжується виконання програми.

Список виключень приведений у документації мови C#. Таким чином, якщо є підозра, що під час роботи програми в певній частині програми може з’явитися помилка і в цьому списку є потрібне виключення, можна перехопити і обробити її. Особливо часто це буває при введенні даних, коли їхній формат недопустимий або під час виконання розрахунків. Тому, коли зупиняється виконання програми і з’являється певне повідомлення , програміст швидше знаходить місце і причину появи виключення.

Приклад.

Постановка задачі

Під час введення значень зарплати та кількості відпрацьованих днів забезпечити перехоплення та обробку виключення, коли замісто цифр вводяться інші символи.

using System;

using System.Collections.Generic;

using System.Text;

namespace exception1

{

class Program

{

static void Main(string[] args)

{

string s;

double salary;

double day_salary;

int amount_days;

try

{

Console.WriteLine("Enter salary=");

s = Console.ReadLine();

salary = Convert.ToDouble(s);

Console.WriteLine("Enter amount of days=");

s = Console.ReadLine();

amount_days = Convert.ToInt32(s);

}

catch (FormatException)

{

Console.WriteLine("Зарплата або кількість днів");

Console.WriteLine(" введені у неправильному форматі.");

return;

}

day_salary = salary/amount_days;

Console.WriteLine(" Day_salary = {0}", day_salary);

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]