TypeLoadException Constructor (String, Exception)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
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.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- message
- Type: System.String
The error message that explains the reason for the exception.
- inner
- Type: System.Exception
The exception that is the cause of the current exception. If the inner parameter is not null, 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 null 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 |
|---|---|
The inner exception reference. | |
The error message string. |
The following code example demonstrates the TypeLoadException(String, Exception) constructor. It contains a method that generates a TypeLoadException, catches that exception, and throws a new TypeLoadException with a custom message, including the original TypeLoadException as the inner exception.
Note: |
|---|
To run this example, see Building examples that have static TextBlock controls for Windows Phone 8. |
using System; using System.Runtime.InteropServices; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { outputBlock.Text += "Calling a method in a non-existent DLL which triggers a TypeLoadException." + "\n"; try { TypeLoadExceptionDemoClass.GenerateException(); } catch (TypeLoadException e) { outputBlock.Text += "TypeLoadException: \n\tError Message = " + e.Message + "\n"; outputBlock.Text += "TypeLoadException: \n\tInnerException Message = " + e.InnerException.Message + "\n"; } catch (Exception e) { outputBlock.Text += "Exception: \n\tError Message = " + e.Message + "\n"; } } } 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); } } }
Note: