Export (0) Print
Expand All

Exception.ToString Method

Creates and returns a string representation of the current exception.

[Visual Basic]
Overrides Public Function ToString() As String
[C#]
public override string ToString();
[C++]
public: String* ToString();
[JScript]
public override function ToString() : String;

Return Value

A string representation of the current exception.

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 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).

This method overrides Object.ToString.

Example

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

[Visual Basic] 
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

[C#] 
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());
            }
      }
}

[C++] 
#using <mscorlib.dll>

using namespace System;

public __gc class MyClass {};

int main() {
   MyClass* my = new MyClass();
   String* s = S"sometext";
   try {
      int i = s->CompareTo(my);
   } catch (Exception* e) {
      Console::WriteLine(S"Error: {0}", e->ToString());
   }
}

[JScript] 
import System;

public class MyClass {}
public class ArgExceptionExample 
   {
   public static function Main()
      {
      var my : MyClass = new MyClass();
      var s : String = "sometext";
      try 
         {
         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()

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

Exception Class | Exception Members | System Namespace

Show:
© 2014 Microsoft