Класс Exception
Класс Exception - корень пользовательских
и системных сбоев, которые перехватывают через
catch. Бросают через throw,
например throw new Exception("abcde");.
Свой тип объявляют как class CodeException : Exception
без промежуточных SystemException.
Синтаксис
throw new Exception("abcde");
class CodeException : Exception { }
Пример
Давайте бросить Exception и вывести Message:
using System;
class Program
{
static void Main()
{
try
{
throw new Exception("abcde");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте бросить свой класс CodeException:
using System;
class CodeException : Exception
{
public CodeException(string message) : base(message) { }
}
class Program
{
static void Main()
{
try
{
throw new CodeException("12345");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"12345"
Пример
Давайте поймать CodeException отдельной веткой:
using System;
class CodeException : Exception
{
public CodeException(string message) : base(message) { }
}
class Program
{
static void Main()
{
try
{
throw new CodeException("abcde");
}
catch (CodeException ex)
{
Console.WriteLine(ex.GetType().Name);
}
}
}
Результат выполнения кода:
"CodeException"