ArgumentException Klas

Definitie

De uitzondering die wordt gegenereerd wanneer een van de argumenten die aan een methode zijn verstrekt, niet geldig is.

public ref class ArgumentException : Exception
public ref class ArgumentException : SystemException
public class ArgumentException : Exception
[System.Serializable]
public class ArgumentException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArgumentException : SystemException
public class ArgumentException : SystemException
type ArgumentException = class
    inherit Exception
[<System.Serializable>]
type ArgumentException = class
    inherit SystemException
    interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArgumentException = class
    inherit SystemException
    interface ISerializable
type ArgumentException = class
    inherit SystemException
    interface ISerializable
type ArgumentException = class
    inherit SystemException
Public Class ArgumentException
Inherits Exception
Public Class ArgumentException
Inherits SystemException
Overname
ArgumentException
Overname
ArgumentException
Afgeleid
Kenmerken
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u een ArgumentException. Het maakt gebruik van argumentException.GetType(). Naameigenschap om de naam van het uitzonderingsobject weer te geven en gebruikt ook de Message eigenschap om de tekst van het uitzonderingsbericht weer te geven.

using System;

public class Example
{
    static void Main()
    {
        // Define some integers for a division operation.
        int[] values = { 10, 7 };
        foreach (var value in values) {
            try {
               Console.WriteLine("{0} divided by 2 is {1}", value, DivideByTwo(value));
            }
            catch (ArgumentException e) {
               Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message);
            }
            Console.WriteLine();
        }
    }

    static int DivideByTwo(int num)
    {
        // If num is an odd number, throw an ArgumentException.
        if ((num & 1) == 1)
            throw new ArgumentException(String.Format("{0} is not an even number", num),
                                      "num");

        // num is even, return half of its value.
        return num / 2;
    }
}
// This example displays the following output:
//     10 divided by 2 is 5
//
//     ArgumentException: 7 is not an even number
//     Parameter name: num
open System

let divideByTwo num =
    // If num is an odd number, throw an ArgumentException.
    if num % 2 = 1 then
        invalidArg "num" $"{num} is not an even number"

    // num is even, return half of its value.
    num / 2;

// Define some integers for a division operation.
let values = [ 10; 7 ]
for value in values do
    try 
        printfn $"{value} divided by 2 is {divideByTwo value}"
    with
    | :? ArgumentException as e ->
        printfn $"{e.GetType().Name}: {e.Message}"
    
    printfn ""

// This example displays the following output:
//     10 divided by 2 is 5
//
//     ArgumentException: 7 is not an even number (Parameter 'num')
Public Class Example
    Public Shared Sub Main()
        ' Define some integers for a division operation.
        Dim values() As Integer = { 10, 7 }

        For Each value In values
            Try 
               Console.WriteLine("{0} divided by 2 is {1}", value, DivideByTwo(value))
            Catch e As ArgumentException
               Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message)
            End Try
            Console.WriteLine()
        Next
    End Sub
    
    Private Shared Function DivideByTwo(ByVal num As Integer) As Integer
        ' If num is an odd number, throw an ArgumentException.
        If (num And 1) = 1 Then
            Throw New ArgumentException(String.Format("{0} is not an even number", num), 
                                      "num")
        End If
        Return num \ 2
    End Function
End Class
' The example displays the following output:
'     10 divided by 2 is 5
'     
'     ArgumentException: 7 is not an even number
'     Parameter name: num

Opmerkingen

ArgumentException wordt gegenereerd wanneer een methode wordt aangeroepen en ten minste één van de doorgegeven argumenten niet voldoet aan de parameterspecificatie van de aangeroepen methode. De ParamName eigenschap identificeert het ongeldige argument.

Meestal wordt er een ArgumentException gegenereerd door de algemene taalruntime of een andere klassebibliotheek en wordt de fout van de ontwikkelaar aangegeven. Als u een ArgumentException waarde uit uw code genereert, moet u ervoor zorgen dat de eigenschap van Message de uitzondering een zinvol foutbericht bevat waarin het ongeldige argument en het verwachte waardebereik voor het argument worden beschreven.

De primaire afgeleide klassen ArgumentException zijn ArgumentNullException en ArgumentOutOfRangeException. Deze afgeleide klassen moeten worden gebruikt in plaats van ArgumentException, behalve in situaties waarin geen van de afgeleide klassen acceptabel is. Uitzonderingen moeten bijvoorbeeld worden gegenereerd door:

  • ArgumentNullException wanneer null deze wordt doorgegeven aan een methode die deze niet accepteert als een geldig argument.

  • ArgumentOutOfRangeException wanneer de waarde van een argument buiten het bereik van acceptabele waarden valt; Bijvoorbeeld wanneer de waarde '46' wordt doorgegeven als het maandargument tijdens het maken van een DateTime.

Als de methode-aanroep geen argument heeft of als de fout geen betrekking heeft op de argumenten zelf, InvalidOperationException moet u deze gebruiken.

ArgumentException maakt gebruik van de HRESULT-COR_E_ARGUMENT, met de waarde 0x80070057.

Voor een lijst van initiële eigenschapswaarden voor een exemplaar van ArgumentException, zie de ArgumentException-constructoren.

In F# kunt u de functie invalidArg gebruiken om een ArgumentException te genereren en te verhogen.

Constructors

Name Description
ArgumentException()

Initialiseert een nieuw exemplaar van de ArgumentException klasse.

ArgumentException(SerializationInfo, StreamingContext)

Initialiseert een nieuw exemplaar van de ArgumentException klasse met geserialiseerde gegevens.

ArgumentException(String, Exception)

Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht en een verwijzing naar de binnenste uitzondering die de oorzaak van deze uitzondering is.

ArgumentException(String, String, Exception)

Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht, de parameternaam en een verwijzing naar de interne uitzondering die de oorzaak van deze uitzondering is.

ArgumentException(String, String)

Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht en de naam van de parameter die deze uitzondering veroorzaakt.

ArgumentException(String)

Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht.

Eigenschappen

Name Description
Data

Hiermee haalt u een verzameling sleutel-waardeparen op die aanvullende door de gebruiker gedefinieerde informatie over de uitzondering bieden.

(Overgenomen van Exception)
HelpLink

Hiermee haalt u een koppeling op naar het Help-bestand dat aan deze uitzondering is gekoppeld.

(Overgenomen van Exception)
HResult

Hiermee wordt HRESULT opgehaald of ingesteld, een gecodeerde numerieke waarde die is toegewezen aan een specifieke uitzondering.

(Overgenomen van Exception)
InnerException

Hiermee haalt u het Exception exemplaar op dat de huidige uitzondering heeft veroorzaakt.

(Overgenomen van Exception)
Message

Hiermee haalt u het foutbericht en de parameternaam op, of alleen het foutbericht als er geen parameternaam is ingesteld.

ParamName

Hiermee haalt u de naam op van de parameter die deze uitzondering veroorzaakt.

Source

Hiermee wordt de naam van de toepassing of het object dat de fout veroorzaakt, opgehaald of ingesteld.

(Overgenomen van Exception)
StackTrace

Hiermee haalt u een tekenreeksweergave van de directe frames op de aanroepstack op.

(Overgenomen van Exception)
TargetSite

Hiermee haalt u de methode op waarmee de huidige uitzondering wordt gegenereerd.

(Overgenomen van Exception)

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetBaseException()

Wanneer deze wordt overschreven in een afgeleide klasse, retourneert u de Exception hoofdoorzaak van een of meer volgende uitzonderingen.

(Overgenomen van Exception)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetObjectData(SerializationInfo, StreamingContext)

Hiermee stelt u het SerializationInfo object in met de parameternaam en aanvullende informatie over uitzonderingen.

GetType()

Hiermee haalt u het runtimetype van het huidige exemplaar op.

(Overgenomen van Exception)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Hiermee maakt en retourneert u een tekenreeksweergave van de huidige uitzondering.

(Overgenomen van Exception)

gebeurtenis

Name Description
SerializeObjectState

Treedt op wanneer een uitzondering wordt geserialiseerd om een uitzonderingsstatusobject te maken dat geserialiseerde gegevens over de uitzondering bevat.

(Overgenomen van Exception)

Van toepassing op

Zie ook