エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

ArgumentException クラス

2013/12/12

メソッドに渡された引数のいずれかが無効な場合にスローされる例外。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public class ArgumentException : SystemException

ArgumentException 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドArgumentException()ArgumentException クラスの新しいインスタンスを初期化します。
パブリック メソッドArgumentException(String)指定したエラー メッセージを使用して、ArgumentException クラスの新しいインスタンスを初期化します。
パブリック メソッドArgumentException(String, Exception)指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、ArgumentException クラスの新しいインスタンスを初期化します。
パブリック メソッドArgumentException(String, String)エラー メッセージ、およびこの例外の原因であるパラメーターの名前を指定して、ArgumentException クラスの新しいインスタンスを初期化します。
パブリック メソッドArgumentException(String, String, Exception)エラー メッセージ、パラメーター名、およびこの例外の原因である内部例外への参照を指定して、ArgumentException クラスの新しいインスタンスを初期化します。
このページのトップへ

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

  名前説明
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetBaseException派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 (Exception から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスのランタイム型を取得します。 (Exception から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドToString現在の例外の文字列形式を作成して返します。 (Exception から継承されます。)
このページのトップへ

ArgumentException は、メソッドの呼び出し時に渡された引数の少なくとも 1 つが、呼び出されたメソッドのパラメーターの仕様に一致していないとスローされます。ArgumentException のすべてのインスタンスは、無効な引数と、その引数に指定できる有効な値の範囲を説明する、わかりやすいエラーメッセージを保持する必要があります。

ArgumentException の主要な派生クラスは、ArgumentNullExceptionArgumentOutOfRangeException です。これらの派生クラスは、両方とも使用できない場合以外は、ArgumentException の代わりに使用されます。たとえば、次の場合は、それぞれの派生クラスで例外をスローします。

  • null を有効な引数として受け付けないメソッドに null 値が渡された場合は、必ず ArgumentNullException を使用します。

  • 指定できる範囲を外れた値が引数として渡された場合は、ArgumentOutOfRangeException を使用します。たとえば、DateTime の作成時に、月を指定する引数として "46" という値が渡された場合が該当します。

引数を指定せずにメソッドが呼び出された場合、引数が原因ではないエラーが発生している場合は、InvalidOperationException を使用します。

ArgumentException は、値 0x80070057 を保持する HRESULT COR_E_ARGUMENT を使用します。

ArgumentException のインスタンスの初期プロパティ値の一覧については、ArgumentException コンストラクターのトピックを参照してください。

バージョンについてのメモ

Windows Phone

 ArgumentException は、[種類 'System.ArgumentException' の例外] ではなく、[引数の例外] というメッセージを表示します。

ArgumentException をスローし、キャッチする方法を次の例に示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;

public sealed class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // ArgumentException is not thrown because 10 is an even number.
      outputBlock.Text += String.Format("10 divided by 2 is {0}", DivideByTwo(10)) + "\n";
      try
      {
         // ArgumentException is thrown because 7 is not an even number.
         outputBlock.Text += String.Format("7 divided by 2 is {0}", DivideByTwo(7)) + "\n";
      }
      catch (ArgumentException)
      {
         // Show the user that 7 cannot be divided by 2.
         outputBlock.Text += "7 is not divided by 2 integrally." + "\n";
      }
   }

   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.


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2014 Microsoft