Что такое 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(); // То закрываем его
}