(0) exportieren Drucken
Alle erweitern

ArgumentException-Klasse

Die Ausnahme, die ausgelöst wird, wenn eines der Argumente für eine Methode ungültig ist.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class ArgumentException : SystemException, ISerializable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class ArgumentException extends SystemException implements ISerializable
SerializableAttribute 
ComVisibleAttribute(true) 
public class ArgumentException extends SystemException implements ISerializable

ArgumentException wird ausgelöst, wenn eine Methode aufgerufen wird und mindestens eines der übergebenen Argumente nicht der Parameterspezifikation der aufgerufenen Methode entspricht. Allen Instanzen von ArgumentException muss eine aussagekräftige Fehlermeldung zugeordnet sein, in der sowohl das ungültige Argument als auch der erwartete Wertebereich für das Argument beschrieben sind.

Die primären von ArgumentException abgeleiteten Klassen sind ArgumentNullException und ArgumentOutOfRangeException. Diese abgeleiteten Klassen müssen anstelle von ArgumentException verwendet werden. Ausgenommen hiervon sind Situationen, in denen die Verwendung einer abgeleiteten Klasse unzulässig ist. Ausnahmen müssen z. B. in folgenden Situationen ausgelöst werden:

  • ArgumentNullException, wenn NULL (Nothing in Visual Basic) an eine Methode übergeben wird, für die dies kein gültiges Argument ist.

  • ArgumentOutOfRangeException, wenn der Wert eines Arguments nicht im zulässigen Wertebereich liegt; z. B. wenn beim Erstellen von DateTime der Wert 46 als Argument für den Monat übergeben wird.

Wenn die aufgerufene Methode keine Argumente benötigt oder der vorliegende Fehler nicht die Argumente betrifft, wird InvalidOperationException verwendet.

ArgumentException verwendet HRESULT COR_E_ARGUMENT mit dem Wert 0x80070057.

Eine Liste der anfänglichen Eigenschaftenwerte für eine Instanz von ArgumentException finden Sie unter ArgumentException-Konstruktoren.

Im folgenden Beispiel wird das Auslösen und Abfangen einer ArgumentException veranschaulicht.

using System;

public sealed class App 
{
    static void Main() 
    {
        // ArgumentException is not thrown because 10 is an even number.
        Console.WriteLine("10 divided by 2 is {0}", DivideByTwo(10));
        try 
        {
             // ArgumentException is thrown because 7 is not an even number.
             Console.WriteLine("7 divided by 2 is {0}", DivideByTwo(7));
        }
        catch (ArgumentException)
        {
            // Show the user that 7 cannot be divided by 2.
            Console.WriteLine("7 is not divided by 2 integrally.");
        }
    }

    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.

System.Object
   System.Exception
     System.SystemException
      System.ArgumentException
         Abgeleitete Klassen

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0
Anzeigen:
© 2014 Microsoft