ArgumentException Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
De uitzondering die wordt gegenereerd wanneer een van de argumenten die aan een methode zijn verstrekt, niet geldig is.
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
- Overname
- Overname
- Afgeleid
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u hoe u een ArgumentException. Het maakt gebruik van argumentException.GetType(). Naameigenschap om de naam van het uitzonderingsobject weer te geven en gebruikt ook de Message eigenschap om de tekst van het uitzonderingsbericht weer te geven.
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
Opmerkingen
ArgumentException wordt gegenereerd wanneer een methode wordt aangeroepen en ten minste één van de doorgegeven argumenten niet voldoet aan de parameterspecificatie van de aangeroepen methode. De ParamName eigenschap identificeert het ongeldige argument.
Meestal wordt er een ArgumentException gegenereerd door de algemene taalruntime of een andere klassebibliotheek en wordt de fout van de ontwikkelaar aangegeven. Als u een ArgumentException waarde uit uw code genereert, moet u ervoor zorgen dat de eigenschap van Message de uitzondering een zinvol foutbericht bevat waarin het ongeldige argument en het verwachte waardebereik voor het argument worden beschreven.
De primaire afgeleide klassen ArgumentException zijn ArgumentNullException en ArgumentOutOfRangeException. Deze afgeleide klassen moeten worden gebruikt in plaats van ArgumentException, behalve in situaties waarin geen van de afgeleide klassen acceptabel is. Uitzonderingen moeten bijvoorbeeld worden gegenereerd door:
ArgumentNullException wanneer
nulldeze wordt doorgegeven aan een methode die deze niet accepteert als een geldig argument.ArgumentOutOfRangeException wanneer de waarde van een argument buiten het bereik van acceptabele waarden valt; Bijvoorbeeld wanneer de waarde '46' wordt doorgegeven als het maandargument tijdens het maken van een DateTime.
Als de methode-aanroep geen argument heeft of als de fout geen betrekking heeft op de argumenten zelf, InvalidOperationException moet u deze gebruiken.
ArgumentException maakt gebruik van de HRESULT-COR_E_ARGUMENT, met de waarde 0x80070057.
Voor een lijst van initiële eigenschapswaarden voor een exemplaar van ArgumentException, zie de ArgumentException-constructoren.
In F# kunt u de functie invalidArg gebruiken om een ArgumentException te genereren en te verhogen.
Constructors
| Name | Description |
|---|---|
| ArgumentException() |
Initialiseert een nieuw exemplaar van de ArgumentException klasse. |
| ArgumentException(SerializationInfo, StreamingContext) |
Initialiseert een nieuw exemplaar van de ArgumentException klasse met geserialiseerde gegevens. |
| ArgumentException(String, Exception) |
Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht en een verwijzing naar de binnenste uitzondering die de oorzaak van deze uitzondering is. |
| ArgumentException(String, String, Exception) |
Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht, de parameternaam en een verwijzing naar de interne uitzondering die de oorzaak van deze uitzondering is. |
| ArgumentException(String, String) |
Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht en de naam van de parameter die deze uitzondering veroorzaakt. |
| ArgumentException(String) |
Initialiseert een nieuw exemplaar van de ArgumentException klasse met een opgegeven foutbericht. |
Eigenschappen
| Name | Description |
|---|---|
| Data |
Hiermee haalt u een verzameling sleutel-waardeparen op die aanvullende door de gebruiker gedefinieerde informatie over de uitzondering bieden. (Overgenomen van Exception) |
| HelpLink |
Hiermee haalt u een koppeling op naar het Help-bestand dat aan deze uitzondering is gekoppeld. (Overgenomen van Exception) |
| HResult |
Hiermee wordt HRESULT opgehaald of ingesteld, een gecodeerde numerieke waarde die is toegewezen aan een specifieke uitzondering. (Overgenomen van Exception) |
| InnerException |
Hiermee haalt u het Exception exemplaar op dat de huidige uitzondering heeft veroorzaakt. (Overgenomen van Exception) |
| Message |
Hiermee haalt u het foutbericht en de parameternaam op, of alleen het foutbericht als er geen parameternaam is ingesteld. |
| ParamName |
Hiermee haalt u de naam op van de parameter die deze uitzondering veroorzaakt. |
| Source |
Hiermee wordt de naam van de toepassing of het object dat de fout veroorzaakt, opgehaald of ingesteld. (Overgenomen van Exception) |
| StackTrace |
Hiermee haalt u een tekenreeksweergave van de directe frames op de aanroepstack op. (Overgenomen van Exception) |
| TargetSite |
Hiermee haalt u de methode op waarmee de huidige uitzondering wordt gegenereerd. (Overgenomen van Exception) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetBaseException() |
Wanneer deze wordt overschreven in een afgeleide klasse, retourneert u de Exception hoofdoorzaak van een of meer volgende uitzonderingen. (Overgenomen van Exception) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Hiermee stelt u het SerializationInfo object in met de parameternaam en aanvullende informatie over uitzonderingen. |
| GetType() |
Hiermee haalt u het runtimetype van het huidige exemplaar op. (Overgenomen van Exception) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Hiermee maakt en retourneert u een tekenreeksweergave van de huidige uitzondering. (Overgenomen van Exception) |
gebeurtenis
| Name | Description |
|---|---|
| SerializeObjectState |
Treedt op wanneer een uitzondering wordt geserialiseerd om een uitzonderingsstatusobject te maken dat geserialiseerde gegevens over de uitzondering bevat. (Overgenomen van Exception) |