Číst v angličtině

Sdílet prostřednictvím


ArgumentException Třída

Definice

Výjimka, která je vyvolán, když jeden z argumentů zadaný do metody není platný.

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
Dědičnost
ArgumentException
Dědičnost
ArgumentException
Odvozené
Atributy
Implementuje

Příklady

Následující příklad ukazuje, jak hodit a zachytit ArgumentException. Používá ArgumentException.GetType(). Vlastnost Name zobrazí název objektu výjimky a vlastnost také použije Message k zobrazení textu zprávy o výjimce.

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

Poznámky

ArgumentException vyvolá se při vyvolání metody a alespoň jeden z předaných argumentů nesplňuje specifikaci parametru volané metody. Vlastnost ParamName identifikuje neplatný argument.

Nejčastěji je vyvolán modulem ArgumentException Common Language Runtime nebo jinou knihovnou tříd a označuje chybu vývojáře. Pokud vyvoláte kód ArgumentException z kódu, měli byste zajistit, aby vlastnost výjimky Message obsahovala smysluplnou chybovou zprávu, která popisuje neplatný argument a očekávaný rozsah hodnot argumentu.

Primární odvozené ArgumentException třídy jsou ArgumentNullException a ArgumentOutOfRangeException. Tyto odvozené třídy by se měly používat místo ArgumentException, s výjimkou situací, kdy není přijatelná žádná z odvozených tříd. Výjimky by například měly vyvolat:

  • ArgumentNullException kdykoli null se předá metodě, která ji nepřijímá jako platný argument.

  • ArgumentOutOfRangeException je-li hodnota argumentu mimo rozsah přijatelných hodnot; Například když je hodnota "46" předána jako argument měsíce při vytváření DateTime.

Pokud volání metody nemá žádný argument nebo pokud selhání nezahrnuje samotné argumenty, InvalidOperationException pak by měl být použit.

ArgumentException používá COR_E_ARGUMENT HRESULT, který má hodnotu 0x80070057.

Seznam počátečních hodnot vlastností pro instanci nástroje najdete v ArgumentException konstruktorechArgumentException.

V jazyce F# můžete pomocí funkce invalidArg vygenerovat a vyvolat výjimku ArgumentException.

Konstruktory

ArgumentException()

Inicializuje novou instanci ArgumentException třídy.

ArgumentException(SerializationInfo, StreamingContext)
Zastaralé.

Inicializuje novou instanci třídy ArgumentException se serializovanými daty.

ArgumentException(String)

Inicializuje novou instanci ArgumentException třídy se zadanou chybovou zprávou.

ArgumentException(String, Exception)

Inicializuje novou instanci ArgumentException třídy se zadanou chybovou zprávou a odkazem na vnitřní výjimku, která je příčinou této výjimky.

ArgumentException(String, String)

Inicializuje novou instanci ArgumentException třídy se zadanou chybovou zprávou a názvem parametru, který způsobuje tuto výjimku.

ArgumentException(String, String, Exception)

Inicializuje novou instanci ArgumentException třídy se zadanou chybovou zprávou, názvem parametru a odkazem na vnitřní výjimku, která je příčinou této výjimky.

Vlastnosti

Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce.

(Zděděno od Exception)
HelpLink

Získá nebo nastaví odkaz na soubor nápovědy přidružené k této výjimce.

(Zděděno od Exception)
HResult

Získá nebo nastaví HRESULT, kódovanou číselnou hodnotu, která je přiřazena ke konkrétní výjimce.

(Zděděno od Exception)
InnerException

Exception Získá instanci, která způsobila aktuální výjimku.

(Zděděno od Exception)
Message

Získá chybovou zprávu a název parametru, nebo pouze chybovou zprávu, pokud není nastaven žádný název parametru.

ParamName

Získá název parametru, který způsobuje tuto výjimku.

Source

Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.

(Zděděno od Exception)
StackTrace

Získá řetězcovou reprezentaci okamžitých rámců v zásobníku volání.

(Zděděno od Exception)
TargetSite

Získá metodu, která vyvolá aktuální výjimku.

(Zděděno od Exception)

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetBaseException()

Při přepsání v odvozené třídě vrátí Exception hodnotu, která je původní příčinou jedné nebo více následných výjimek.

(Zděděno od Exception)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Nastaví objekt s SerializationInfo názvem parametru a dalšími informacemi o výjimce.

GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Při přepsání v odvozené třídě nastaví SerializationInfo s informacemi o výjimce.

(Zděděno od Exception)
GetType()

Získá typ modulu runtime aktuální instance.

(Zděděno od Exception)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ThrowIfNullOrEmpty(String, String)

Vyvolá výjimku, pokud argument je nebo je null prázdný.

ThrowIfNullOrWhiteSpace(String, String)

Vyvolá výjimku, pokud argument je nullprázdný nebo se skládá pouze z prázdných znaků.

ToString()

Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky.

(Zděděno od Exception)

Událost

SerializeObjectState
Zastaralé.

Nastane, když je výjimka serializována k vytvoření objektu stavu výjimky, který obsahuje serializovaná data o výjimce.

(Zděděno od Exception)

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Viz také