英語で読む

次の方法で共有


Exception.ToString メソッド

定義

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

C#
public override string ToString ();

戻り値

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

実装

次の例では、例外を発生させ、その例外で を呼び出した ToString 結果を表示します。 メソッドの引数リストConsole.WriteLineException.ToString Exception クラス インスタンスが表示されると、 メソッドが暗黙的に呼び出されることに注意してください。

C#
using System;

public class TestClass
{}

public class Example
{
   public static void Main()
   {
      var test = new TestClass();
      Object[] objectsToCompare = { test, test.ToString(), 123,
                                    123.ToString(), "some text",
                                    "Some Text" };
      string s = "some text";
      foreach (var objectToCompare in objectsToCompare) {
         try {
            int i = s.CompareTo(objectToCompare);
            Console.WriteLine("Comparing '{0}' with '{1}': {2}",
                              s, objectToCompare, i);
         }
         catch (ArgumentException e) {
            Console.WriteLine("Bad argument: {0} (type {1})",
                              objectToCompare,
                              objectToCompare.GetType().Name);
            Console.WriteLine("Exception information: {0}", e);
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//     Bad argument: TestClass (type TestClass)
//     Exception information: System.ArgumentException: Object must be of type String.
//        at System.String.CompareTo(Object value)
//        at Example.Main()
//
//     Comparing 'some text' with 'TestClass': -1
//
//     Bad argument: 123 (type Int32)
//     Exception information: System.ArgumentException: Object must be of type String.
//        at System.String.CompareTo(Object value)
//        at Example.Main()
//
//     Comparing 'some text' with '123': 1
//
//     Comparing 'some text' with 'some text': 0
//
//     Comparing 'some text' with 'Some Text': -1

注釈

ToString は、人間が理解することを目的とした現在の例外の表現を返します。 例外にカルチャに依存するデータが含まれている場合、現在のシステム カルチャを考慮するには、 によって ToString 返される文字列表現が必要です。 返される文字列の形式に正確な要件はありませんが、ユーザーが認識するオブジェクトの値を反映するように試みる必要があります。

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

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

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

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0