Skip to main content
.NET Framework Class Library
ExceptionToString Method

Creates and returns a string representation of the current exception.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)
Syntax
Public Overrides Function ToString As [%$TOPIC/es4y6f7e_en-us_VS_110_1_0_0_0_0%]
public override [%$TOPIC/es4y6f7e_en-us_VS_110_1_0_1_0_0%] ToString()
public:
virtual [%$TOPIC/es4y6f7e_en-us_VS_110_1_0_2_0_0%]^ ToString() override
abstract ToString : unit -> [%$TOPIC/es4y6f7e_en-us_VS_110_1_0_3_0_0%]  
override ToString : unit -> [%$TOPIC/es4y6f7e_en-us_VS_110_1_0_3_0_1%]

Return Value

Type: SystemString
A string representation of the current exception.

Implements

_ExceptionToString
Remarks

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 EnvironmentStackTrace. If any of these members is , 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 .

This method overrides ObjectToString.

Examples

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" 
      Try 
         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
using System;

public class MyClass {}
public class ArgExceptionExample 
   {
   public static void Main()
      {
      MyClass my = new MyClass();
      string s = "sometext";
      try 
         {
         int i = s.CompareTo(my);
         }
            catch (Exception e) 
            {
            Console.WriteLine("Error: {0}",e.ToString());
            }
      }
}
using namespace System;
public ref class MyClass{};

int main()
{
   MyClass^ my = gcnew MyClass;
   String^ s = "sometext";
   try
   {
      int i = s->CompareTo( my );
   }
   catch ( Exception^ e ) 
   {
      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()
Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8
Platforms

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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