InvalidEnumArgumentException クラス
引数として使用した列挙値が無効な場合にスローされる例外。
この型のすべてのメンバの一覧については、InvalidEnumArgumentException メンバ を参照してください。
System.Object
System.Exception
System.SystemException
System.ArgumentException
System.ComponentModel.InvalidEnumArgumentException
Public Class InvalidEnumArgumentException
Inherits ArgumentException
[C#]
public class InvalidEnumArgumentException : ArgumentException
[C++]
public __gc class InvalidEnumArgumentException : public
ArgumentException
[JScript]
public class InvalidEnumArgumentException extends ArgumentException
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
この例外は、無効な列挙値をメソッドに渡した場合や、プロパティの設定時にスローされます。
使用例
[Visual Basic, C#, C++] InvalidEnumArgumentException 例外をキャッチし、その内容を解釈する方法を次の例に示します。この例では、 MessageBox.Show メソッドの 3 番目の引数として、キャストを使用して無効な列挙値 (MessageBoxButtons
) を渡します。例外をキャッチしたときに、この例はそれぞれのエラー メッセージ、無効なパラメータ、スタック トレース、および例外の発生源をフェッチします。
Try
' Attempts to pass an invalid enum value (MessageBoxButtons) to the Show method
Dim myButton As MessageBoxButtons
myButton = CType(123, MessageBoxButtons)
MessageBox.Show("This is a message", "This is the Caption", myButton)
Catch invE As System.ComponentModel.InvalidEnumArgumentException
Console.WriteLine(invE.Message)
Console.WriteLine(invE.ParamName)
Console.WriteLine(invE.StackTrace)
Console.WriteLine(invE.Source)
End Try
[C#]
try
{
// Attempts to pass an invalid enum value (MessageBoxButtons) to the Show method
MessageBoxButtons myButton= (MessageBoxButtons) 123;
MessageBox.Show("This is a message","This is the Caption",myButton);
}
catch(InvalidEnumArgumentException invE)
{
Console.WriteLine(invE.Message);
Console.WriteLine(invE.ParamName);
Console.WriteLine(invE.StackTrace);
Console.WriteLine(invE.Source);
}
[C++]
try
{
//Attempting to pass an invalid enum value (MessageBoxButtons) to the Show method
MessageBoxButtons myButton = (MessageBoxButtons) 123; // to fix use System::Windows::Forms::DialogResult::OK;
MessageBox::Show(this, "This is a message","This is the Caption", myButton);
}
catch(InvalidEnumArgumentException* invE)
{
Console::WriteLine(invE->Message);
Console::WriteLine(invE->ParamName);
Console::WriteLine(invE->StackTrace);
Console::WriteLine(invE->Source);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.ComponentModel
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System (System.dll 内)
参照
InvalidEnumArgumentException メンバ | System.ComponentModel 名前空間