Exception.ToString Method

Creates and returns a string representation of the current exception.

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

Public Overrides Function ToString As String
Dim instance As Exception
Dim returnValue As String

returnValue = instance.ToString
public String ToString ()
public override function ToString () : String

Return Value

A string representation of the current exception.

ToString returns a representation of the current exception that is intended to be understood by humans. Where the exception contains culture-sensitive data, the string representation returned by ToString is required to take into account the current system culture. Although there are no exact requirements for the format of the returned string, it should attempt to reflect the value of the object as perceived by the user.

The default implementation of ToString obtains the name of the class that threw the current exception, the message, the result of calling ToString on the inner exception, and the result of calling Environment.StackTrace. If any of these members is a null reference (Nothing in Visual Basic), its value is not included in the returned string.

If there is no error message or if it is an empty string (""), then no error message is returned. The name of the inner exception and the stack trace are returned only if they are not a null reference (Nothing in Visual Basic).

This method overrides Object.ToString.

The following example causes an exception and displays the result of calling ToString on that exception.

Imports System

Public Class [MyClass]
End Class '[MyClass]

Public Class ArgExceptionExample
   Public Shared Sub Main()
      Dim my As New [MyClass]()
      Dim s As String = "sometext"
         Dim i As Integer = s.CompareTo(my)
      Catch e As Exception
         Console.WriteLine("Error: {0}", e.ToString())
      End Try
   End Sub 'Main
End Class 'ArgExceptionExample

import System.*;

public class MyClass
} //MyClass

public class ArgExceptionExample
    public static void main(String[] args)
        MyClass my = new MyClass();
        String s = "sometext";
        try {
            int i = s.CompareTo(my);
        catch (System.Exception e) {
            Console.WriteLine("Error: {0}", e.ToString());
    } //main
} //ArgExceptionExample

import System;

public class MyClass {}
public class ArgExceptionExample 
   public static function Main()
      var my : MyClass = new MyClass();
      var s : String = "sometext";
         var i : int = s.CompareTo(my);
     catch (e : Exception) 
         Console.WriteLine("Error: {0}",e.ToString());

This code has the following output:

Error: System.ArgumentException: Object must be of type String. at System.String.CompareTo(Object value) at ArgExceptionExample.Main()

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, 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