Exception (исключение) — это механизм в C#, который позволяет обрабатывать ошибки и нештатные ситуации в процессе выполнения программы. Когда возникает проблема, которую программа не может обработать в текущем контексте, она "бросает" исключение, которое может быть "поймано" и обработано в другом месте кода.
Исключительная ситуация — это проблема, которая нарушает нормальный поток выполнения программы (например, деление на ноль, обращение к несуществующему файлу).
Иерархия исключений:
System.Exception
.SystemException
(исключения, генерируемые CLR)ApplicationException
(пользовательские исключения)try
{
int zero = 0;
int result = 10 / zero; // DivisionByZeroException
}
catch (DivideByZeroException ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
Исключения являются объектами и содержат полезную информацию:
Message
— описание ошибкиStackTrace
— трассировка стека вызововInnerException
— вложенное исключениеМожно создавать собственные исключения, наследуясь от Exception
:
public class MyCustomException : Exception
{
public MyCustomException(string message)
: base(message) { }
}
Exception
.finally
или используйте using
.Exception — это мощный механизм обработки ошибок в C#, который позволяет отделить нормальный поток выполнения программы от обработки нештатных ситуаций. Правильное использование исключений делает код более надежным и удобным для поддержки.