Partager via


ArgumentException Classe

Définition

Exception levée lorsque l’un des arguments fournis à une méthode n’est pas valide.

public ref class ArgumentException : Exception
public ref class ArgumentException : SystemException
public class ArgumentException : Exception
public class ArgumentException : SystemException
[System.Serializable]
public class ArgumentException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArgumentException : SystemException
type ArgumentException = class
    inherit Exception
type ArgumentException = class
    inherit SystemException
type ArgumentException = class
    inherit SystemException
    interface ISerializable
[<System.Serializable>]
type ArgumentException = class
    inherit SystemException
    interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArgumentException = class
    inherit SystemException
    interface ISerializable
Public Class ArgumentException
Inherits Exception
Public Class ArgumentException
Inherits SystemException
Héritage
ArgumentException
Héritage
ArgumentException
Dérivé
Attributs
Implémente

Exemples

L’exemple suivant montre comment lever et intercepter un ArgumentException. Il utilise ArgumentException.GetType(). Propriété Name pour afficher le nom de l’objet exception et utilise également la Message propriété pour afficher le texte du message d’exception.

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

Remarques

ArgumentException est levée lorsqu’une méthode est appelée et qu’au moins un des arguments passés ne répond pas à la spécification de paramètre de la méthode appelée. La ParamName propriété identifie l’argument non valide.

Le plus souvent, une ArgumentException exception est levée par le Common Language Runtime ou une autre bibliothèque de classes et indique l’erreur du développeur. Si vous lèvez un ArgumentException code, vous devez vous assurer que la propriété de Message l’exception inclut un message d’erreur explicite qui décrit l’argument non valide et la plage de valeurs attendue pour l’argument.

Les classes dérivées primaires de ArgumentException are ArgumentNullException et ArgumentOutOfRangeException. Ces classes dérivées doivent être utilisées au lieu de ArgumentException, sauf dans les situations où aucune des classes dérivées n’est acceptable. Par exemple, les exceptions doivent être levées par :

  • ArgumentNullException chaque fois null qu’elle est passée à une méthode qui ne l’accepte pas comme argument valide.

  • ArgumentOutOfRangeException lorsque la valeur d’un argument est en dehors de la plage de valeurs acceptables ; par exemple, lorsque la valeur « 46 » est passée en tant qu’argument mois lors de la création d’un DateTime.

Si l’appel de méthode n’a pas d’argument ou si l’échec n’implique pas les arguments eux-mêmes, il InvalidOperationException doit être utilisé.

ArgumentException utilise le COR_E_ARGUMENT HRESULT, qui a la valeur 0x80070057.

Pour obtenir la liste des valeurs de propriété initiales d’une instance de ArgumentException, consultez les ArgumentException constructeurs.

Dans F#, vous pouvez utiliser la fonction invalidArg pour générer et déclencher une argumentException.

Constructeurs

Nom Description
ArgumentException()

Initialise une nouvelle instance de la classe ArgumentException.

ArgumentException(SerializationInfo, StreamingContext)
Obsolète.

Initialise une nouvelle instance de la classe ArgumentException avec des données sérialisées.

ArgumentException(String, Exception)

Initialise une nouvelle instance de la ArgumentException classe avec un message d’erreur spécifié et une référence à l’exception interne qui est la cause de cette exception.

ArgumentException(String, String, Exception)

Initialise une nouvelle instance de la ArgumentException classe avec un message d’erreur spécifié, le nom du paramètre et une référence à l’exception interne qui est la cause de cette exception.

ArgumentException(String, String)

Initialise une nouvelle instance de la ArgumentException classe avec un message d’erreur spécifié et le nom du paramètre qui provoque cette exception.

ArgumentException(String)

Initialise une nouvelle instance de la ArgumentException classe avec un message d’erreur spécifié.

Propriétés

Nom Description
Data

Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l’utilisateur sur l’exception.

(Hérité de Exception)
HelpLink

Obtient ou définit un lien vers le fichier d’aide associé à cette exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée affectée à une exception spécifique.

(Hérité de Exception)
InnerException

Obtient l’instance Exception qui a provoqué l’exception actuelle.

(Hérité de Exception)
Message

Obtient le message d’erreur et le nom du paramètre, ou uniquement le message d’erreur si aucun nom de paramètre n’est défini.

ParamName

Obtient le nom du paramètre qui provoque cette exception.

Source

Obtient ou définit le nom de l’application ou de l’objet qui provoque l’erreur.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des images immédiates sur la pile des appels.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l’exception actuelle.

(Hérité de Exception)

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetBaseException()

En cas de substitution dans une classe dérivée, retourne la Exception qui est la cause racine d’une ou plusieurs exceptions ultérieures.

(Hérité de Exception)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsolète.

Définit l’objet avec le SerializationInfo nom du paramètre et des informations d’exception supplémentaires.

GetType()

Obtient le type d’exécution de l’instance actuelle.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ThrowIfNullOrEmpty(String, String)

Lève une exception si argument elle est null ou vide.

ThrowIfNullOrWhiteSpace(String, String)

Lève une exception si argument c’est null, vide ou se compose uniquement de caractères d’espace blanc.

ToString()

Crée et retourne une représentation sous forme de chaîne de l’exception actuelle.

(Hérité de Exception)

Événements

Nom Description
SerializeObjectState
Obsolète.

Se produit lorsqu’une exception est sérialisée pour créer un objet d’état d’exception qui contient des données sérialisées sur l’exception.

(Hérité de Exception)

S’applique à

Voir aussi