このドキュメントはアーカイブされており、メンテナンスされていません。

InvalidEnumArgumentException クラス

引数として使用した列挙値が無効な場合にスローされる例外。

名前空間: System.ComponentModel
アセンブリ: System (system.dll 内)

[SerializableAttribute] 
public class InvalidEnumArgumentException : ArgumentException
/** @attribute SerializableAttribute() */ 
public class InvalidEnumArgumentException extends ArgumentException
SerializableAttribute 
public class InvalidEnumArgumentException extends ArgumentException

この例外は、無効な列挙値をメソッドに渡した場合や、プロパティの設定時にスローされます。

メモメモ

このクラスに適用される HostProtectionAttribute 属性の Resources プロパティの値は、SharedState です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。

InvalidEnumArgumentException 例外をキャッチし、その内容を解釈する方法を次の例に示します。この例では、MessageBox.Show メソッドの 3 番目の引数として、キャストを使用して無効な列挙値 (MessageBoxButtons) を渡します。例外をキャッチしたときに、この例はそれぞれのエラー メッセージ、無効なパラメータ、スタック トレース、および例外の発生源をフェッチします。

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);
}

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.get_Message());
    Console.WriteLine(invE.get_ParamName());
    Console.WriteLine(invE.get_StackTrace());
    Console.WriteLine(invE.get_Source());
}

System.Object
   System.Exception
     System.SystemException
       System.ArgumentException
        System.ComponentModel.InvalidEnumArgumentException

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

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0、1.1、1.0
表示: