The exception thrown when using invalid arguments that are enumerators.
Namespace: System.ComponentModel
Assembly: System (in system.dll)
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class InvalidEnumArgumentException
Inherits ArgumentException
Dim instance As InvalidEnumArgumentException
[SerializableAttribute]
public class InvalidEnumArgumentException : ArgumentException
[SerializableAttribute]
public ref class InvalidEnumArgumentException : public ArgumentException
/** @attribute SerializableAttribute() */
public class InvalidEnumArgumentException extends ArgumentException
SerializableAttribute
public class InvalidEnumArgumentException extends ArgumentException
This exception is thrown if you pass an invalid enumeration value to a method or when setting a property.
The following code example shows how to catch an InvalidEnumArgumentException exception and interpret its content. The example attempts to pass an invalid enumeration value (MessageBoxButtons) through casting, as the MessageBox.Show method's third argument. Upon catching the exception, the example fetches the respective error message, the invalid parameter, stack trace, and origin of the exception.
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
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
{
//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.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
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Windows 98, Windows Server 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
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
.NET Framework
Supported in: 3.0, 2.0, 1.1, 1.0