方法 : ユーザー定義の例外を作成する

ユーザーがプログラムによってエラー条件を識別できるようにする場合は、独自のユーザー定義例外を作成できます。 .NET Framework には、Exception 基本クラスから最終的に派生した例外クラスの階層があります。 各クラスによって特定の例外が定義されているため、多くの場合は例外を作成する必要はありません。 Exception クラスの派生クラスを独自の例外クラスとして作成することもできます。

独自の例外を作成するときには、ユーザー定義例外のクラス名の終わりに "Exception" という単語を付けておくと、コーディングの点で便利です。 また、推奨される 3 つの共通コンストラクターを実装すると便利です。この推奨コンストラクターを実装する例を次に示します。

メモメモ

リモート処理機能を使用する場合には、サーバー (呼び出される側) とクライアント (プロキシ オブジェクトまたは呼び出し元) がユーザー定義例外のメタデータを使用できるようにしてください。たとえば、別のアプリケーション ドメインのメソッドを呼び出すコードは、リモート呼び出しによってスローされる例外が含まれているアセンブリを検出できる必要があります。詳細については、「例外処理の実施」を参照してください。

次の例では、新しい例外クラス EmployeeListNotFoundException は Exception から派生しています。 3 つのコンストラクターはクラスで定義されていて、それぞれ異なるパラメーターを使用します。

使用例

Imports System

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
using System;

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

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

    public EmployeeListNotFoundException(string message, Exception inner)
        : base(message, inner)
    {
    }
}
using namespace System;

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

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

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

参照

処理手順

方法 : Try ブロックと Catch ブロックを使用して例外をキャッチする

方法 : catch ブロックで特定の例外を使用する

概念

例外処理の実施

その他の技術情報

例外処理の基本事項