ArrayTypeMismatchException Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

The exception that is thrown when an attempt is made to store an element of the wrong type within an array.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)


Public Class ArrayTypeMismatchException
	Inherits SystemException


Initializes a new instance of the ArrayTypeMismatchException class.

System_CAPS_protmethodArrayTypeMismatchException(SerializationInfo, StreamingContext)

Initializes a new instance of the ArrayTypeMismatchException class with serialized data.


Initializes a new instance of the ArrayTypeMismatchException class with a specified error message.

System_CAPS_pubmethodArrayTypeMismatchException(String, Exception)

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.


Gets a collection of key/value pairs that provide additional user-defined information about the exception.(Inherited from Exception.)


Gets or sets a link to the help file associated with this exception.(Inherited from Exception.)


Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.(Inherited from Exception.)


Gets the Exception instance that caused the current exception.(Inherited from Exception.)


Gets a message that describes the current exception.(Inherited from Exception.)


Gets or sets the name of the application or the object that causes the error.(Inherited from Exception.)


Gets a string representation of the immediate frames on the call stack.(Inherited from Exception.)


Gets the method that throws the current exception.(Inherited from Exception.)


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.(Inherited from Exception.)


Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

When overridden in a derived class, sets the SerializationInfo with information about the exception.(Inherited from Exception.)


Gets the runtime type of the current instance.(Inherited from Exception.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Creates and returns a string representation of the current exception.(Inherited from Exception.)


Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.(Inherited from Exception.)

ArrayTypeMismatchException is thrown when the system cannot convert the element to the type declared for the array. For example, an element of type String cannot be stored in an Int32 array because conversion between these types is not supported. It is generally unnecessary for applications to throw this exception.

The following Microsoft intermediate language (MSIL) instructions throw ArrayTypeMismatchException :

  • ldelem.<type>

  • ldelema

  • stelem.<type>

ArrayTypeMismatchException uses the HRESULT COR_E_ARRAYTYPEMISMATCH, which has the value 0x80131503.

For a list of initial property values for an instance of ArrayTypeMismatchException, see the ArrayTypeMismatchException constructors.

The following code example demonstrates scenarios where ArrayTypeMismatchException is thrown.

Option Explicit On 
Option Strict On

Imports System

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())

            objs(2) = "Mouse"

            Dim animalName As Object
            For Each animalName In objs
            Next animalName
         Catch exp As System.ArrayTypeMismatchException
            ' Not reached, "Mouse" is of the correct type.
            System.Console.WriteLine("Exception Thrown.")
         End 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
            objs2(0) = "Turtle"
            objs2(1) = 12
            objs2(2) = 2.341

            Dim element As Object
            For Each element In objs2
            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

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top