This documentation is archived and is not being maintained.

TypeLoadException Constructor (String, Exception)

Initializes a new instance of the TypeLoadException class with a specified error message and a reference to the inner exception that is the cause of this exception.

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

public TypeLoadException (
	string message,
	Exception inner
)
public TypeLoadException (
	String message, 
	Exception inner
)
public function TypeLoadException (
	message : String, 
	inner : Exception
)

Parameters

message

The error message that explains the reason for the exception.

inner

The exception that is the cause of the current exception. If the inner parameter is not a null reference (Nothing in Visual Basic), the current exception is raised in a catch block that handles the inner exception.

An exception that is thrown as a direct result of a previous exception can include a reference to the previous exception in the InnerException property. The InnerException property returns the same value that is passed into the constructor, or a null reference (Nothing in Visual Basic) if the InnerException property does not supply the inner exception value to the constructor.

The following table shows the initial property values for an instance of TypeLoadException.

Property

Value

InnerException

The inner exception reference.

Message

The error message string.


using System;
using System.Runtime.InteropServices;

public class TypeLoadException_Constructor3
{
   public static void Main() 
   {
      Console.WriteLine("Calling a method in a non-existent DLL which triggers a TypeLoadException.");
      try 
      {
         TypeLoadExceptionDemoClass.GenerateException();
      }  
      catch (TypeLoadException e)
      {
         Console.WriteLine ("TypeLoadException: \n\tError Message = " + e.Message);
         Console.WriteLine ("TypeLoadException: \n\tInnerException Message = " + e.InnerException.Message );
      }  
      catch (Exception e)
      {
         Console.WriteLine ("Exception: \n\tError Message = " + e.Message);
      }
   }
}

class TypeLoadExceptionDemoClass
{ 
   // A call to this method will raise a TypeLoadException.
   [DllImport("NonExistentDLL.DLL", EntryPoint="MethodNotExists")]
   public static extern void NonExistentMethod();

   public static void GenerateException() 
   {
      try 
      {
         NonExistentMethod();
      }
      catch (TypeLoadException e) 
      {
         // Rethrow exception with the exception as inner exception
         throw new TypeLoadException("This exception was raised due to a call to an invalid method.", e);
      }
   }
}

import System.*;
import System.Runtime.InteropServices.*;

public class TypeLoadException_Constructor3
{
    public static void main(String[] args)
    {
        Console.WriteLine("Calling a method in a non-existent DLL which"
            +" triggers a TypeLoadException.");
        try {
            TypeLoadExceptionDemoClass.GenerateException();
        }
        catch (TypeLoadException e) {
            Console.WriteLine("TypeLoadException: \n\tError Message = " 
                + e.get_Message());
            Console.WriteLine("TypeLoadException: \n\tInnerException Message = "
                + e.get_InnerException().get_Message());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception: \n\tError Message = "
                + e.get_Message());
        }
    } //main
} //TypeLoadException_Constructor3

class TypeLoadExceptionDemoClass
{
    // A call to this method will raise a TypeLoadException.
    /** @attribute DllImport("NonExistentDLL.DLL", EntryPoint = 
        "MethodNotExists")
     */
    public static native void NonExistentMethod();

    public static void GenerateException()
    {
        try {
            NonExistentMethod();
        }
        catch (TypeLoadException e) {
            // Rethrow exception with the exception as inner exception
            throw new TypeLoadException("This exception was raised due to a "
                +"call to an invalid method.", e);
        }
    } //GenerateException
} //TypeLoadExceptionDemoClass

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0
Show: