#13 - Оператор исключений (Конструкция try-catch)

#13 - Оператор исключений (Конструкция try-catch)

Если в программе будет вызвана ошибка, то программа либо закроется, либо зависнет. В этом уроке мы познакомимся с обработчиком исключений, который не позволит нам "убить" программу. В языке C# такой обработчик называется конструкцией try-catch.

Видеоурок

Исключения это то, что может непредвиденно возникнуть в ходе работы программы. Если такое случиться, то программа просто перестанет работать или же вовсе выключиться. Чтобы такого не допустить вам всегда стоит добавлять исключения при работе с различными вещами. К примеру, вы хотите добавить возможность деления двух чисел? Добавьте также исключение, которое позволит проверять, не является ли делитель нулем. Вы хотите открыть файл для записи в него? Пропишите исключение, которое будет срабатывать если файл не найден, чтобы программа не пыталась его открывать повторно. Логика, я думаю, ясна.

Конструкция самих исключений очень проста. Вам необходимо сначала что-то попробовать сделать, а потом поискать ошибку, если она будет найдена, то выведется ваш код, иначе все сработает корректно и никаких ошибок не будет.
FileStream fs = null;
try {
  // Открываем какой-либо файл
  fs = new FileStream(@"C:\temp\data.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:\temp папке]", e);
}
finally { // Выполниться в любом случае
  if (fs != null) // Если файл открыт
    fs.Close(); // То закрываем его
}

Исходный код

Весь код будет доступен после подписки на проект!

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Уроки C# под Unity 5 для начинающих
9 уроков
Изучение ASP.NET Core MVC. Создание сайтов на C#
10 уроков
Изучение C#, ASP.NET и создание Windows программ