Как создать пользовательские исключения

.NET предоставляет иерархию классов исключений, производных от Exception базового класса. Однако если никаких предопределенных исключений не соответствует вашим потребностям, можно создать собственные классы исключений, исходя из Exception класса.

При создании собственных исключений заканчивайте имя класса пользовательского исключения словом Exception и реализуйте три общих конструктора, как показано в следующем примере. В примере определяется новый класс исключений EmployeeListNotFoundException. Класс является производным Exception от базового класса и включает три конструктора.

using namespace System;

public ref class EmployeeListNotFoundException : Exception
{
public:
    EmployeeListNotFoundException()
    {
    }

    EmployeeListNotFoundException(String^ message)
        : Exception(message)
    {
    }

    EmployeeListNotFoundException(String^ message, Exception^ inner)
        : Exception(message, inner)
    {
    }
};
using System;

public class EmployeeListNotFoundException : Exception
{
    public EmployeeListNotFoundException()
    {
    }

    public EmployeeListNotFoundException(string message)
        : base(message)
    {
    }

    public EmployeeListNotFoundException(string message, Exception inner)
        : base(message, inner)
    {
    }
}
Public Class EmployeeListNotFoundException
    Inherits Exception

    Public Sub New()
    End Sub

    Public Sub New(message As String)
        MyBase.New(message)
    End Sub

    Public Sub New(message As String, inner As Exception)
        MyBase.New(message, inner)
    End Sub
End Class

Примечание.

В ситуациях, когда вы используете удаленное взаимодействие, необходимо убедиться, что метаданные для всех определяемых пользователем исключений доступны на сервере (вызываемом объекте) и клиенте (прокси-объект или вызывающий объект). Дополнительные сведения см. в разделе Лучшие методики обработки исключений.

См. также