C#

Изучение языка C# для начинающих

26 уроков 53 задания Справочник Компилятор

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

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


C#

Если в программе будет вызвана ошибка, то программа либо закроется, либо зависнет. В этом уроке мы познакомимся с обработчиком исключений, который не позволит нам "убить" программу. В языке 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#

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