Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ArgumentException, classe

Mise à jour : novembre 2007

Exception levée lorsqu'un argument non valide est fourni à une méthode.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ArgumentException : SystemException, 
	ISerializable
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public class ArgumentException extends SystemException implements ISerializable
public class ArgumentException extends SystemException implements ISerializable

L'exception ArgumentException est levée lorsqu'une méthode est appelée et qu'au moins un des arguments passés n'est pas conforme aux spécifications de paramètres de la méthode appelée. Toutes les instances de ArgumentException doivent comporter un message d'erreur significatif décrivant l'argument non valide, ainsi que la plage de valeurs acceptées pour l'argument.

Les classes dérivées principales de ArgumentException sont ArgumentNullException et ArgumentOutOfRangeException. Utilisez ces classes dérivées au lieu de ArgumentException, sauf lorsque aucune de ces classes n'est appropriée. Par exemple, des exceptions doivent être levées par :

  • ArgumentNullException chaque fois que null est passé à une méthode pour laquelle cet argument n'est pas valide.

  • ArgumentOutOfRangeException lorsque la valeur d'un argument ne figure pas dans la plage des valeurs autorisées, par exemple, lorsque la valeur "46" est passée à l'argument du mois durant la création de DateTime.

Si l'appel de la méthode ne comporte aucun argument ou si l'échec n'est pas provoqué par les arguments eux-mêmes, utilisez InvalidOperationException.

ArgumentException utilise le HRESULT COR_E_ARGUMENT dont la valeur est 0x80070057.

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

L'exemple suivant illustre la levée et l'interception de ArgumentException.

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.


Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.