ArgumentException Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Excepción que se produce cuando uno de los argumentos proporcionados a un método no es válido.
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
- Herencia
- Herencia
- Derivado
- Atributos
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo iniciar y detectar un ArgumentException. Usa ArgumentException.GetType(). Propiedad Name para mostrar el nombre del objeto de excepción y también usa la Message propiedad para mostrar el texto del mensaje de excepción.
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
Comentarios
ArgumentException se produce cuando se invoca un método y al menos uno de los argumentos pasados no cumple la especificación de parámetros del método llamado. La ParamName propiedad identifica el argumento no válido.
Normalmente, Common Language Runtime produce una ArgumentException excepción u otra biblioteca de clases e indica el error del desarrollador. Si inicia un ArgumentException elemento desde el código, debe asegurarse de que la propiedad de Message la excepción incluye un mensaje de error significativo que describe el argumento no válido y el intervalo esperado de valores para el argumento.
Las clases derivadas principales de ArgumentException son ArgumentNullException y ArgumentOutOfRangeException. Estas clases derivadas deben usarse en lugar de ArgumentException, excepto en situaciones en las que ninguna de las clases derivadas sea aceptable. Por ejemplo, las excepciones deben iniciarse mediante:
ArgumentNullException siempre que
nullse pasa a un método que no lo acepta como argumento válido.ArgumentOutOfRangeException cuando el valor de un argumento está fuera del intervalo de valores aceptables; por ejemplo, cuando se pasa el valor "46" como argumento month durante la creación de un DateTime.
Si la llamada al método no tiene ningún argumento o si el error no implica los propios argumentos, InvalidOperationException se debe usar.
ArgumentException usa el COR_E_ARGUMENT HRESULT, que tiene el valor 0x80070057.
Para obtener una lista de valores de propiedad iniciales para una instancia de ArgumentException, vea los ArgumentException constructores.
En F#, puede usar la función invalidArg para generar y generar una excepción ArgumentException.
Constructores
| Nombre | Description |
|---|---|
| ArgumentException() |
Inicializa una nueva instancia de la clase ArgumentException. |
| ArgumentException(SerializationInfo, StreamingContext) |
Obsoletos.
Inicializa una nueva instancia de la ArgumentException clase con datos serializados. |
| ArgumentException(String, Exception) |
Inicializa una nueva instancia de la ArgumentException clase con un mensaje de error especificado y una referencia a la excepción interna que es la causa de esta excepción. |
| ArgumentException(String, String, Exception) |
Inicializa una nueva instancia de la ArgumentException clase con un mensaje de error especificado, el nombre del parámetro y una referencia a la excepción interna que es la causa de esta excepción. |
| ArgumentException(String, String) |
Inicializa una nueva instancia de la ArgumentException clase con un mensaje de error especificado y el nombre del parámetro que provoca esta excepción. |
| ArgumentException(String) |
Inicializa una nueva instancia de la ArgumentException clase con un mensaje de error especificado. |
Propiedades
| Nombre | Description |
|---|---|
| Data |
Obtiene una colección de pares clave-valor que proporcionan información adicional definida por el usuario sobre la excepción. (Heredado de Exception) |
| HelpLink |
Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción. (Heredado de Exception) |
| HResult |
Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica. (Heredado de Exception) |
| InnerException |
Obtiene la Exception instancia que provocó la excepción actual. (Heredado de Exception) |
| Message |
Obtiene el mensaje de error y el nombre del parámetro, o solo el mensaje de error si no se establece ningún nombre de parámetro. |
| ParamName |
Obtiene el nombre del parámetro que provoca esta excepción. |
| Source |
Obtiene o establece el nombre de la aplicación o el objeto que provoca el error. (Heredado de Exception) |
| StackTrace |
Obtiene una representación de cadena de los fotogramas inmediatos en la pila de llamadas. (Heredado de Exception) |
| TargetSite |
Obtiene el método que produce la excepción actual. (Heredado de Exception) |
Métodos
| Nombre | Description |
|---|---|
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetBaseException() |
Cuando se reemplaza en una clase derivada, devuelve la Exception causa principal de una o varias excepciones posteriores. (Heredado de Exception) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Obsoletos.
Establece el SerializationInfo objeto con el nombre del parámetro y la información de excepción adicional. |
| GetType() |
Obtiene el tipo de tiempo de ejecución de la instancia actual. (Heredado de Exception) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ThrowIfNullOrEmpty(String, String) |
Produce una excepción si |
| ThrowIfNullOrWhiteSpace(String, String) |
Produce una excepción si |
| ToString() |
Crea y devuelve una representación de cadena de la excepción actual. (Heredado de Exception) |
Eventos
| Nombre | Description |
|---|---|
| SerializeObjectState |
Obsoletos.
Se produce cuando se serializa una excepción para crear un objeto de estado de excepción que contiene datos serializados sobre la excepción. (Heredado de Exception) |