ArgumentException Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- Héritage
- 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
nullqu’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 |
| ThrowIfNullOrWhiteSpace(String, String) |
Lève une exception si |
| 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) |