InvalidEnumArgumentException 類別

定義

使用無效列舉值時所擲回的例外狀況。

public ref class InvalidEnumArgumentException : ArgumentException
public class InvalidEnumArgumentException : ArgumentException
[System.Serializable]
public class InvalidEnumArgumentException : ArgumentException
type InvalidEnumArgumentException = class
    inherit ArgumentException
[<System.Serializable>]
type InvalidEnumArgumentException = class
    inherit ArgumentException
Public Class InvalidEnumArgumentException
Inherits ArgumentException
繼承
InvalidEnumArgumentException
屬性

範例

下列程式碼範例示範如何攔截 InvalidEnumArgumentException 例外狀況並解譯其內容。 此範例會嘗試傳遞不正確列舉值, MessageBoxButtons (透過轉型) ,做為 MessageBox.Show 方法的第三個引數。 攔截例外狀況時,此範例會擷取個別的錯誤訊息、不正確參數、堆疊追蹤和例外狀況的來源。

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

備註

如果您將不正確列舉值傳遞至方法,或在設定屬性時,就會擲回這個例外狀況。

建構函式

InvalidEnumArgumentException()

不使用訊息來初始化 InvalidEnumArgumentException 類別的新執行個體。

InvalidEnumArgumentException(SerializationInfo, StreamingContext)

使用指定的序列化資料和內容,初始化 InvalidEnumArgumentException 類別的新執行個體。

InvalidEnumArgumentException(String)

使用指定的訊息初始化 InvalidEnumArgumentException 類別的新執行個體。

InvalidEnumArgumentException(String, Exception)

使用指定的詳細描述和指定的例外狀況,初始化 InvalidEnumArgumentException 類別的新執行個體。

InvalidEnumArgumentException(String, Int32, Type)

使用引數、無效值和列舉型別 (Enumeration) 類別所產生的訊息來初始化 InvalidEnumArgumentException 類別的新執行個體。

屬性

Data

取得鍵值組的集合,這些鍵值組會提供關於例外狀況的其他使用者定義資訊。

(繼承來源 Exception)
HelpLink

取得或設定與這個例外狀況相關聯的說明檔連結。

(繼承來源 Exception)
HResult

取得或設定 HRESULT,它是指派給特定例外狀況的編碼數值。

(繼承來源 Exception)
InnerException

取得造成目前例外狀況的 Exception 執行個體。

(繼承來源 Exception)
Message

取得錯誤訊息和參數名稱,在參數名稱未設定時只會取得錯誤訊息。

(繼承來源 ArgumentException)
ParamName

取得造成這個例外狀況的參數名稱。

(繼承來源 ArgumentException)
Source

取得或設定造成錯誤的應用程式或物件的名稱。

(繼承來源 Exception)
StackTrace

取得呼叫堆疊上即時運算框架的字串表示。

(繼承來源 Exception)
TargetSite

取得擲回目前例外狀況的方法。

(繼承來源 Exception)

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetBaseException()

在衍生類別中覆寫時,傳回一或多個後續的例外狀況的根本原因 Exception

(繼承來源 Exception)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetObjectData(SerializationInfo, StreamingContext)

設定具有參數名稱和額外例外狀況資訊的 SerializationInfo 物件。

(繼承來源 ArgumentException)
GetType()

取得目前執行個體的執行階段類型。

(繼承來源 Exception)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

建立並傳回目前例外狀況的字串表示。

(繼承來源 Exception)

事件

SerializeObjectState
已淘汰.

當例外狀況序列化,以建立包含例外狀況相關序列化資料的例外狀況狀態物件時,就會發生此事件。

(繼承來源 Exception)

適用於