ArgumentException クラス
メソッドに渡された引数のいずれかが無効な場合にスローされる例外。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class ArgumentException Inherits SystemException Implements ISerializable
[SerializableAttribute] [ComVisibleAttribute(true)] public class ArgumentException : SystemException, ISerializable
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class ArgumentException : public SystemException, ISerializable

ArgumentException は、メソッドの呼び出し時に渡された引数の少なくとも 1 つが、呼び出されたメソッドのパラメータの仕様に一致していないとスローされます。ArgumentException のすべてのインスタンスは、無効な引数と、その引数に指定できる有効な値の範囲を説明する、わかりやすいエラーメッセージを保持する必要があります。
ArgumentException の主要な派生クラスは、ArgumentNullException と ArgumentOutOfRangeException です。これらの派生クラスは、両方とも使用できない場合以外は、ArgumentException の代わりに使用されます。たとえば、次の場合は、それぞれの派生クラスで例外をスローします。
-
null 参照 (Visual Basic では Nothing) を有効な引数として受け付けないメソッドに null 値が渡された場合は、必ず ArgumentNullException を使用します。
-
指定できる範囲を外れた値が引数として渡された場合は、ArgumentOutOfRangeException を使用します。たとえば、DateTime の作成時に、月を指定する引数として "46" という値が渡された場合が該当します。
引数を指定せずにメソッドが呼び出された場合、引数が原因ではないエラーが発生している場合は、InvalidOperationException を使用します。
ArgumentException は、値 0x80070057 を保持する HRESULT COR_E_ARGUMENT を使用します。
ArgumentException のインスタンスの初期プロパティ値の一覧については、ArgumentException コンストラクタのトピックを参照してください。

ArgumentException をスローし、キャッチする方法を次の例に示します。
using System; public sealed class App { static void Main() { // ArgumentException is not thrown because 10 is an even number. Console.WriteLine("10 divided by 2 is {0}", DivideByTwo(10)); try { // ArgumentException is thrown because 7 is not an even number. Console.WriteLine("7 divided by 2 is {0}", DivideByTwo(7)); } catch (ArgumentException) { // Show the user that 7 cannot be divided by 2. Console.WriteLine("7 is not divided by 2 integrally."); } } static int DivideByTwo(int num) { // If num is an odd number, throw an ArgumentException. if ((num & 1) == 1) throw new ArgumentException("Number must be even", "num"); // num is even, return half of its value. return num / 2; } } // This code produces the following output. // // 10 divided by 2 is 5 // 7 is not divided by 2 integrally.
using namespace System; int DivideByTwo(int num) { // If num is an odd number, throw an ArgumentException. if ((num & 1) == 1) { throw gcnew ArgumentException("Number must be even", "num"); } // num is even, return half of its value. return num / 2; } int main() { // ArgumentException is not thrown because 10 is an even number. Console::WriteLine("10 divided by 2 is {0}", DivideByTwo(10)); try { // ArgumentException is thrown because 7 is not an even number. Console::WriteLine("7 divided by 2 is {0}", DivideByTwo(7)); } catch (ArgumentException^) { // Show the user that 7 cannot be divided by 2. Console::WriteLine("7 is not divided by 2 integrally."); } } // This code produces the following output. // // 10 divided by 2 is 5 // 7 is not divided by 2 integrally.



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArgumentException コンストラクタ ()
ArgumentException クラスの新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文

このコンストラクタは、新しいインスタンスの Message プロパティを初期化し、その値として "無効な引数が指定されました" などのエラーを説明するシステム提供のメッセージを指定します。このメッセージは、システムの現在のカルチャを考慮して指定します。
ArgumentException のインスタンスの初期プロパティ値を次の表に示します。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArgumentException コンストラクタ (String, String, Exception)
エラー メッセージ、パラメータ名、およびこの例外の原因である内部例外への参照を指定して、ArgumentException クラスの新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文
Dim message As String Dim paramName As String Dim innerException As Exception Dim instance As New ArgumentException(message, paramName, innerException)

このコンストラクタは、新しいインスタンスの Message プロパティを message パラメータの値を使用して初期化します。message パラメータの内容は、ユーザーが理解できる内容にします。このコンストラクタの呼び出し元は、この文字列が現在のシステムのカルチャに合わせてローカライズ済みであることを確認しておく必要があります。
このコンストラクタは、paramName を使用して、新しいインスタンスの ParamName プロパティを初期化します。paramName の内容は、ユーザーが理解できる内容にします。
前の例外の直接の結果としてスローされる例外については、InnerException プロパティに、前の例外への参照が格納されます。InnerException プロパティは、コンストラクタに渡されたものと同じ値を返します。InnerException プロパティによって内部例外値がコンストラクタに渡されなかった場合は、null 参照 (Visual Basic では Nothing) を返します。
ArgumentException のインスタンスの初期プロパティ値を次の表に示します。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArgumentException コンストラクタ (SerializationInfo, StreamingContext)
シリアル化したデータを使用して、ArgumentException クラスの新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文
Dim info As SerializationInfo Dim context As StreamingContext Dim instance As New ArgumentException(info, context)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArgumentException コンストラクタ (String, String)
エラー メッセージ、およびこの例外の原因である引数の名前を指定して、ArgumentException クラスの新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文

このコンストラクタは、新しいインスタンスの Message プロパティを message パラメータの値を使用して初期化します。message パラメータの内容は、ユーザーが理解できる内容にします。このコンストラクタの呼び出し元は、この文字列が現在のシステムのカルチャに合わせてローカライズ済みであることを確認しておく必要があります。
このコンストラクタは、paramName を使用して、新しいインスタンスの ParamName プロパティを初期化します。paramName の内容は、ユーザーが理解できる内容にします。
ArgumentException のインスタンスの初期プロパティ値を次の表に示します。

ArgumentException コンストラクタを呼び出す方法を次のコード例に示します。このコード例は、ArgumentException クラスのトピックで取り上げているコード例の一部分です。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArgumentException コンストラクタ
ArgumentException クラスの新しいインスタンスを初期化します。
オーバーロードの一覧
名前 | 説明 |
---|---|
ArgumentException () | ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException (String) | 指定したエラー メッセージを使用して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException (SerializationInfo, StreamingContext) | シリアル化したデータを使用して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException (String, Exception) | 指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException (String, String) | エラー メッセージ、およびこの例外の原因である引数の名前を指定して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException (String, String, Exception) | エラー メッセージ、パラメータ名、およびこの例外の原因である内部例外への参照を指定して、ArgumentException クラスの新しいインスタンスを初期化します。 |

ArgumentException コンストラクタ (String)
指定したエラー メッセージを使用して、ArgumentException クラスの新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文

このコンストラクタは、新しいインスタンスの Message プロパティを初期化し、その値として "無効な引数が指定されました" などのエラーを説明するシステム提供のメッセージを指定します。このメッセージは、システムの現在のカルチャを考慮して指定します。
ArgumentException のインスタンスの初期プロパティ値を次の表に示します。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArgumentException コンストラクタ (String, Exception)
指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、ArgumentException クラスの新しいインスタンスを初期化します。
名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文

このコンストラクタは、新しいインスタンスの Message プロパティを message パラメータの値を使用して初期化します。message パラメータの内容は、ユーザーが理解できる内容にします。このコンストラクタの呼び出し元は、この文字列が現在のシステムのカルチャに合わせてローカライズ済みであることを確認しておく必要があります。
前の例外の直接の結果としてスローされる例外については、InnerException プロパティに、前の例外への参照が格納されます。InnerException プロパティは、コンストラクタに渡されたものと同じ値を返します。InnerException プロパティによって内部例外値がコンストラクタに渡されなかった場合は、null 参照 (Visual Basic では Nothing) を返します。
ArgumentException のインスタンスの初期プロパティ値を次の表に示します。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArgumentException プロパティ
名前 | 説明 | |
---|---|---|
![]() | Data | 例外に関する追加のユーザー定義情報を提供するキー/値ペアのコレクションを取得します。 ( Exception から継承されます。) |
![]() | HelpLink | 例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 ( Exception から継承されます。) |
![]() | InnerException | 現在の例外を発生させた Exception インスタンスを取得します。 ( Exception から継承されます。) |
![]() ![]() | ParamName | この例外の原因である引数の名前を取得します。 |
![]() | Source | エラーの原因となったアプリケーションまたはオブジェクトの名前を取得または設定します。 ( Exception から継承されます。) |
![]() | StackTrace | 現在の例外がスローされたときにコール スタックにあったフレームの文字列形式を取得します。 ( Exception から継承されます。) |
![]() | TargetSite | 現在の例外をスローするメソッドを取得します。 ( Exception から継承されます。) |


ArgumentException メソッド
名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetBaseException | 派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 ( Exception から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetObjectData | オーバーライドされます。 パラメータ名と追加の例外情報を使用して SerializationInfo オブジェクトを設定します。 |
![]() | GetType | 現在のインスタンスのランタイム型を取得します。 ( Exception から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の例外の文字列形式を作成して返します。 ( Exception から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ArgumentException メンバ
メソッドに渡された引数のいずれかが無効な場合にスローされる例外。
ArgumentException データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Data | 例外に関する追加のユーザー定義情報を提供するキー/値ペアのコレクションを取得します。(Exception から継承されます。) |
![]() | HelpLink | 例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。(Exception から継承されます。) |
![]() | InnerException | 現在の例外を発生させた Exception インスタンスを取得します。(Exception から継承されます。) |
![]() ![]() | ParamName | この例外の原因である引数の名前を取得します。 |
![]() | Source | エラーの原因となったアプリケーションまたはオブジェクトの名前を取得または設定します。(Exception から継承されます。) |
![]() | StackTrace | 現在の例外がスローされたときにコール スタックにあったフレームの文字列形式を取得します。(Exception から継承されます。) |
![]() | TargetSite | 現在の例外をスローするメソッドを取得します。(Exception から継承されます。) |


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetBaseException | 派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 (Exception から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetObjectData | オーバーライドされます。 パラメータ名と追加の例外情報を使用して SerializationInfo オブジェクトを設定します。 |
![]() | GetType | 現在のインスタンスのランタイム型を取得します。 (Exception から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の例外の文字列形式を作成して返します。 (Exception から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- ArgumentExceptionのページへのリンク