Що таке try catch в C#?
Винятки – це те, що може виникнути в ході роботи програми. Якщо таке трапиться, то програма просто перестане працювати або зовсім вимкнутися. Щоб такого не допустити, вам завжди варто додавати винятки при роботі з різними речами. Наприклад, ви хочете додати можливість поділу двох чисел? Додайте також виняток, який дозволить перевіряти, чи дільник не є нулем. Ви хочете відкрити файл для запису? Пропишіть виняток, який спрацьовуватиме якщо файл не знайдений, щоб програма не намагалася його відкривати повторно. Логіка, я думаю, зрозуміла.
Конструкція самих винятків дуже проста. Вам необхідно спочатку щось спробувати зробити, а потім пошукати помилку, якщо її буде знайдено, то виведеться ваш код, інакше все спрацює коректно і ніяких помилок не буде.
FileStream fs = null;
try {
// Відкриваємо якийсь файл
fs = new FileStream(@"C: empdata.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs);
string line;
// Дані зчитуються з файлу та виводяться в консоль
line = sr.ReadLine();
Console.WriteLine(line);
}
catch(FileNotFoundException e) { // Якщо щось пішло не так
Console.WriteLine("Файл не знайдено!");
// Нижче повідомляємо компілятор про конкретну помилку, але програму не припиняємо
throw new FileNotFoundException(@"[data.txt не в c: emp папці]", e);
}
finally { // Буде виконано у будь-якому випадку
if (fs != null) // Если файл открыт
fs.Close(); // То закриваємо його
}
Коментарі