ArgumentException Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Az a kivétel, amely akkor fordul elő, ha a metódushoz megadott argumentumok egyike érvénytelen.
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
- Öröklődés
- Öröklődés
- Származtatott
- Attribútumok
- Megvalósítás
Példák
Az alábbi példa bemutatja, hogyan lehet dobni és elkapni egy ArgumentException. Az ArgumentumException.GetType() függvényt használja. A Név tulajdonság a kivételobjektum nevének megjelenítéséhez, valamint a Message tulajdonság használatával jeleníti meg a kivételüzenet szövegét.
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
Megjegyzések
ArgumentException metódus meghívásakor a megadott argumentumok közül legalább egy nem felel meg a hívott metódus paraméterspecifikációjának. A ParamName tulajdonság azonosítja az érvénytelen argumentumot.
A leggyakrabban a ArgumentException közös nyelvi futtatókörnyezet vagy egy másik osztálytár dob egy hibát, és fejlesztői hibát jelez. Ha a kódból dob ki egy ArgumentException üzenetet, győződjön meg arról, hogy a kivétel tulajdonsága Message tartalmaz egy értelmes hibaüzenetet, amely leírja az érvénytelen argumentumot és az argumentum várható értéktartományát.
Az elsődleges származtatott osztályok a ArgumentException következők ArgumentNullException és ArgumentOutOfRangeException. Ezek helyett ezeket a származtatott osztályokat kell használni ArgumentException, kivéve azokat az eseteket, amikor egyik származtatott osztály sem elfogadható. A kivételeket például a következő esetekben kell megadni:
ArgumentNullException amikor
nullolyan metódusnak ad át, amely nem fogadja el érvényes argumentumként.ArgumentOutOfRangeException ha egy argumentum értéke kívül esik az elfogadható értékek tartományán; ha például a "46" értéket a rendszer a hónap argumentumaként adja át egy DateTime.
Ha a metódushívás nem tartalmaz argumentumot, vagy ha a hiba nem magában foglalja az argumentumokat, akkor InvalidOperationException azt kell használni.
ArgumentException A HRESULT COR_E_ARGUMENT használja, amelynek értéke 0x80070057.
A ArgumentException példány kezdeti tulajdonságainak listájáért tekintse meg a ArgumentException konstruktorokat.
Az F#-ban az invalidArg függvénnyel argumentumexceptionet hozhat létre és emelhet ki.
Konstruktorok
| Name | Description |
|---|---|
| ArgumentException() |
Inicializálja a ArgumentException osztály új példányát. |
| ArgumentException(SerializationInfo, StreamingContext) |
Inicializálja az ArgumentException osztály új példányát szerializált adatokkal. |
| ArgumentException(String, Exception) |
Inicializálja az ArgumentException osztály új példányát egy megadott hibaüzenettel és a kivétel okaként szolgáló belső kivételre mutató hivatkozással. |
| ArgumentException(String, String, Exception) |
Inicializálja az ArgumentException osztály új példányát egy megadott hibaüzenettel, a paraméter nevével és a kivétel okaként szolgáló belső kivételre mutató hivatkozással. |
| ArgumentException(String, String) |
Inicializálja az ArgumentException osztály új példányát egy megadott hibaüzenettel és a kivételt okozó paraméter nevével. |
| ArgumentException(String) |
Inicializálja az ArgumentException osztály új példányát egy megadott hibaüzenettel. |
Tulajdonságok
| Name | Description |
|---|---|
| Data |
Lekéri a kulcs-/érték párok gyűjteményét, amelyek további, felhasználó által definiált információkat biztosítanak a kivételről. (Öröklődés forrása Exception) |
| HelpLink |
Lekéri vagy beállítja a kivételhez társított súgófájlra mutató hivatkozást. (Öröklődés forrása Exception) |
| HResult |
Lekéri vagy beállítja a HRESULT-ot, egy kódolt numerikus értéket, amely egy adott kivételhez van hozzárendelve. (Öröklődés forrása Exception) |
| InnerException |
Lekéri az Exception aktuális kivételt okozó példányt. (Öröklődés forrása Exception) |
| Message |
Lekéri a hibaüzenetet és a paraméter nevét, vagy csak a hibaüzenetet, ha nincs megadva paraméternév. |
| ParamName |
Lekéri a kivételt okozó paraméter nevét. |
| Source |
Lekéri vagy beállítja az alkalmazás vagy a hibát okozó objektum nevét. (Öröklődés forrása Exception) |
| StackTrace |
Lekéri a hívásverem közvetlen kereteinek sztringképét. (Öröklődés forrása Exception) |
| TargetSite |
Lekéri az aktuális kivételt okozó metódust. (Öröklődés forrása Exception) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetBaseException() |
Ha egy származtatott osztály felül van bírálva, egy Exception vagy több későbbi kivétel kiváltó okát adja vissza. (Öröklődés forrása Exception) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Beállítja az SerializationInfo objektumot a paraméter nevével és a további kivételadatokkal. |
| GetType() |
Lekéri az aktuális példány futtatókörnyezeti típusát. (Öröklődés forrása Exception) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Létrehozza és visszaadja az aktuális kivétel sztring-ábrázolását. (Öröklődés forrása Exception) |
esemény
| Name | Description |
|---|---|
| SerializeObjectState |
Akkor fordul elő, ha a kivétel szerializálva van egy kivételállapot-objektum létrehozásához, amely szerializált adatokat tartalmaz a kivételről. (Öröklődés forrása Exception) |