ArrayTypeMismatchException In .NET
In this article we will explain how we can handle the ArrayTypeMismatchException in .NET.
Introduction
ArrayTypeMismatchException is thrown when an attempt is made to store an element of the wrong type within an array. Computer can't handle this situation without using exception handling so its gives an error or Exception.
Example
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text
namespace ArrayTypeMismatch
{
class Class1
{
static void Main(string[] args)
{
string[] names = { "Rahul", "Rohit", "Priya" };
object[] objs = (object[])names;
try
{
objs[2] = "Abhi";
foreach (object Name in objs)
{
System.Console.WriteLine(Name);
}
}
catch (System.ArrayTypeMismatchException)
{
// Not reached; "Abhi" is of the correct type.
System.Console.WriteLine("Exception Thrown.");
}
try
{
Object obj = (Object)13;
objs[2] = obj;
}
catch (System.ArrayTypeMismatchException e)
{
Console.WriteLine(e.Message);
// 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)"Tuttor";
objs[1] = (Object)8;
objs[2] = (Object)12.12;
foreach (object element in objs)
{
System.Console.WriteLine(element);
}
}
catch (System.ArrayTypeMismatchException)
{
// ArrayTypeMismatchException is not thrown this time.
System.Console.WriteLine("Exception Thrown.");
}
Console.ReadLine();
}
}
}
The output of following program
