次の方法で共有


Exception.ToString メソッド

現在の例外の文字列形式を作成して返します。

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

戻り値

現在の例外の文字列形式。

解説

ToString は、ユーザーが判読できる形式で現在の例外を返します。カルチャの違いにかかわるデータが例外に含まれている場合、 ToString によって返される文字列形式には現在のシステムのカルチャが反映されている必要があります。返される文字列の書式については明確な要件はありませんが、オブジェクトの値をユーザーが認識できる形で表現するようにしてください。

ToString の既定の実装は、現在の例外をスローしたクラスの名前、メッセージ、内部例外での ToString の呼び出しの結果、および Environment.StackTrace の呼び出しの結果を取得します。これらのメンバのいずれかが null 参照 (Visual Basic では Nothing) である場合、その値は返される文字列に含まれません。

エラー メッセージがないか、またはエラー メッセージが空の文字列 ("") である場合、エラー メッセージは返されません。内部例外とスタック トレースが null 参照 (Nothing) でない場合だけ、その名前が返されます。

このメソッドは、 Object.ToString をオーバーライドします。

使用例

例外を発生させ、その例外で ToString を呼び出した結果の例を次に示します。

 
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());
         }
      }
}

このコードによって、次の出力が生成されます。

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

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Exception クラス | Exception メンバ | System 名前空間