Блок try
Ключевое слово try открывает блок, в котором
выполняют потенциально опасные операции.
Сам по себе try исключение не обрабатывает -
нужен catch
или проброс наружу. Завершение блока описан в
finally.
Синтаксис
try
{
// код, который может бросить исключение
}
catch (ТипИсключения)
{
// обработка
}
Пример
Давайте обернём деление на ноль в try
и поймаем ошибку:
using System;
class Program
{
static void Main()
{
try
{
int a = 1;
int b = 0;
Console.WriteLine(a / b);
}
catch (DivideByZeroException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте выведем сообщение исключения из
catch после try:
using System;
class Program
{
static void Main()
{
try
{
int a = 1;
int b = 0;
int res = a / b;
}
catch (DivideByZeroException ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"Attempted to divide by zero."
Пример
Давайте выполним безопасный код в try
без срабатывания catch:
using System;
class Program
{
static void Main()
{
try
{
int a = 10;
int b = 2;
Console.WriteLine(a / b);
}
catch (DivideByZeroException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
5