ArrayTypeMismatchException Clase
Definición
Excepción que se produce cuando se intenta almacenar un elemento del tipo incorrecto dentro de una matriz.The exception that is thrown when an attempt is made to store an element of the wrong type within an array.
public ref class ArrayTypeMismatchException : Exception
public ref class ArrayTypeMismatchException : SystemException
public class ArrayTypeMismatchException : Exception
public class ArrayTypeMismatchException : SystemException
[System.Serializable]
public class ArrayTypeMismatchException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArrayTypeMismatchException : SystemException
type ArrayTypeMismatchException = class
inherit Exception
type ArrayTypeMismatchException = class
inherit SystemException
[<System.Serializable>]
type ArrayTypeMismatchException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArrayTypeMismatchException = class
inherit SystemException
Public Class ArrayTypeMismatchException
Inherits Exception
Public Class ArrayTypeMismatchException
Inherits SystemException
- Herencia
- Herencia
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestran escenarios en los que ArrayTypeMismatchException se produce.The following code example demonstrates scenarios where ArrayTypeMismatchException is thrown.
using namespace System;
int main()
{
array<String^>^names = { "Dog", "Cat", "Fish"};
array<Object^>^objs = dynamic_cast<array<Object^>^>(names);
try
{
objs[ 2 ] = (Object^)"Mouse";
for ( Int32 i = 0; i < objs->Length; i++ )
{
Console::WriteLine( objs[ i ] );
}
}
catch ( System::ArrayTypeMismatchException^ )
{
// Not reached, "Mouse" is of the correct type
Console::WriteLine( "Exception Thrown" );
}
try
{
Object^ obj = 13;
objs[ 2 ] = obj;
}
catch ( System::ArrayTypeMismatchException^ )
{
// Always reached, 13 is not a string.
Console::WriteLine( "New element is not of the correct type" );
}
// Set obj to an array of objects instead of an array of strings
array<Object^>^objs2 = gcnew array<Object^>(3);
try
{
objs2[ 0 ] = (Object^)"Turtle";
objs2[ 1 ] = 12;
objs2[ 2 ] = 2.341;
for ( Int32 i = 0; i < objs->Length; i++ )
{
Console::WriteLine( objs2[ i ] );
}
}
catch ( System::ArrayTypeMismatchException^ )
{
// ArrayTypeMismatchException is not thrown this time.
Console::WriteLine( "Exception Thrown" );
}
}
/*expected return values:
Dog
Cat
Mouse
New element is not of the correct type
Turtle
12
2.341
*/
using System;
namespace ArrayTypeMismatch
{
class Class1
{
static void Main(string[] args)
{
string[] names = {"Dog", "Cat", "Fish"};
Object[] objs = (Object[]) names;
try
{
objs[2] = "Mouse";
foreach (object animalName in objs)
{
System.Console.WriteLine(animalName);
}
}
catch (System.ArrayTypeMismatchException)
{
// Not reached; "Mouse" is of the correct type.
System.Console.WriteLine("Exception Thrown.");
}
try
{
Object obj = (Object) 13;
objs[2] = obj;
}
catch (System.ArrayTypeMismatchException)
{
// Always reached, 13 is not a string.
System.Console.WriteLine(
"New element is not of the correct type.");
}
// Set objs to an array of objects instead of
// an array of strings.
objs = new Object[3];
try
{
objs[0] = (Object) "Turtle";
objs[1] = (Object) 12;
objs[2] = (Object) 2.341;
foreach (object element in objs)
{
System.Console.WriteLine(element);
}
}
catch (System.ArrayTypeMismatchException)
{
// ArrayTypeMismatchException is not thrown this time.
System.Console.WriteLine("Exception Thrown.");
}
}
}
}
Option Explicit On
Option Strict On
Namespace ArrayTypeMismatch
Class Class1
Public Shared Sub Main(ByVal args() As String)
Dim names As String() = {"Dog", "Cat", "Fish"}
Dim objs As System.Object() = CType(names, System.Object())
Try
objs(2) = "Mouse"
Dim animalName As Object
For Each animalName In objs
System.Console.WriteLine(animalName)
Next animalName
Catch exp As System.ArrayTypeMismatchException
' Not reached, "Mouse" is of the correct type.
System.Console.WriteLine("Exception Thrown.")
End Try
Try
Dim obj As System.Object
obj = CType(13, System.Object)
objs(2) = obj
Catch exp As System.ArrayTypeMismatchException
' Always reached, 13 is not a string.
System.Console.WriteLine("New element is not of the correct type.")
End Try
' Set objs to an array of objects instead of an array of strings.
Dim objs2(3) As System.Object
Try
objs2(0) = "Turtle"
objs2(1) = 12
objs2(2) = 2.341
Dim element As Object
For Each element In objs2
System.Console.WriteLine(element)
Next element
Catch exp As System.ArrayTypeMismatchException
' ArrayTypeMismatchException is not thrown this time.
System.Console.WriteLine("Exception Thrown.")
End Try
End Sub
End Class
End Namespace
Comentarios
ArrayTypeMismatchException se produce cuando el sistema no puede convertir el elemento al tipo declarado para la matriz.ArrayTypeMismatchException is thrown when the system cannot convert the element to the type declared for the array. Por ejemplo, un elemento de tipo String no se puede almacenar en una Int32 matriz porque no se admite la conversión entre estos tipos.For example, an element of type String cannot be stored in an Int32 array because conversion between these types is not supported. Por lo general, no es necesario que las aplicaciones produzcan esta excepción.It is generally unnecessary for applications to throw this exception.
Las siguientes instrucciones del lenguaje intermedio de Microsoft (MSIL) producen ArrayTypeMismatchException :The following Microsoft intermediate language (MSIL) instructions throw ArrayTypeMismatchException :
ldelem.<type>ldelem.<type>
ldelemaldelema
stelem.<type>stelem.<type>
ArrayTypeMismatchException utiliza el COR_E_ARRAYTYPEMISMATCH HRESULT, que tiene el valor 0x80131503.ArrayTypeMismatchException uses the HRESULT COR_E_ARRAYTYPEMISMATCH, which has the value 0x80131503.
Para obtener una lista de valores de propiedad iniciales de una instancia de ArrayTypeMismatchException, consulte el ArrayTypeMismatchException constructores.For a list of initial property values for an instance of ArrayTypeMismatchException, see the ArrayTypeMismatchException constructors.
Constructores
ArrayTypeMismatchException() |
Inicializa una nueva instancia de la clase ArrayTypeMismatchException.Initializes a new instance of the ArrayTypeMismatchException class. |
ArrayTypeMismatchException(SerializationInfo, StreamingContext) |
Inicializa una nueva instancia de la clase ArrayTypeMismatchException con datos serializados.Initializes a new instance of the ArrayTypeMismatchException class with serialized data. |
ArrayTypeMismatchException(String) |
Inicializa una nueva instancia de la clase ArrayTypeMismatchException con el mensaje de error especificado.Initializes a new instance of the ArrayTypeMismatchException class with a specified error message. |
ArrayTypeMismatchException(String, Exception) |
Inicializa una nueva instancia de la clase ArrayTypeMismatchException con el mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción.Initializes a new instance of the ArrayTypeMismatchException class with a specified error message and a reference to the inner exception that is the cause of this exception. |
Propiedades
Data |
Obtiene una colección de pares clave/valor que proporciona información definida por el usuario adicional sobre la excepción.Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Heredado de Exception) |
HelpLink |
Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.Gets or sets a link to the help file associated with this exception. (Heredado de Exception) |
HResult |
Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Heredado de Exception) |
InnerException |
Obtiene la instancia Exception que produjo la excepción actual.Gets the Exception instance that caused the current exception. (Heredado de Exception) |
Message |
Obtiene un mensaje que describe la excepción actual.Gets a message that describes the current exception. (Heredado de Exception) |
Source |
Devuelve o establece el nombre de la aplicación o del objeto que generó el error.Gets or sets the name of the application or the object that causes the error. (Heredado de Exception) |
StackTrace |
Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.Gets a string representation of the immediate frames on the call stack. (Heredado de Exception) |
TargetSite |
Obtiene el método que produjo la excepción actual.Gets the method that throws the current exception. (Heredado de Exception) |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object. (Heredado de Object) |
GetBaseException() |
Cuando se invalida en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions. (Heredado de Exception) |
GetHashCode() |
Sirve como la función hash predeterminada.Serves as the default hash function. (Heredado de Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Cuando se invalida en una clase derivada, establece SerializationInfo con información sobre la excepción.When overridden in a derived class, sets the SerializationInfo with information about the exception. (Heredado de Exception) |
GetType() |
Obtiene el tipo de tiempo de ejecución de la instancia actual.Gets the runtime type of the current instance. (Heredado de Exception) |
MemberwiseClone() |
Crea una copia superficial del Object actual.Creates a shallow copy of the current Object. (Heredado de Object) |
ToString() |
Crea y devuelve una representación de cadena de la excepción actual.Creates and returns a string representation of the current exception. (Heredado de Exception) |
Eventos
SerializeObjectState |
Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. (Heredado de Exception) |