Exception.ToString 메서드

정의

현재 예외에 대한 문자열 표현을 만들고 반환합니다.Creates and returns a string representation of the current exception.

public:
 override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

반환

현재 예외에 대한 문자열 표현입니다.A string representation of the current exception.

구현

예제

다음 예제에서는 예외를 발생 하 고 호출의 결과 표시 ToString 는 예외입니다.The following example causes an exception and displays the result of calling ToString on that exception. 유의 합니다 Exception.ToString 메서드는 예외 클래스 인스턴스를 사용 하는 인수 목록에 표시 되 면 암시적으로 호출 됩니다는 Console.WriteLine 메서드.Note that the Exception.ToString method is called implicitly when the Exception class instance appears in the argument list of the Console.WriteLine method.

using namespace System;

public ref class TestClass{};

int main()
{
   TestClass^ test = gcnew TestClass;
   array<Object^>^ objectsToCompare = { test, test->ToString(), 123,
                                        (123).ToString(), "some text",
                                        "Some Text" };
   String^ s = "some text";
   for each (Object^ objectToCompare in objectsToCompare) {
      try {
         Int32 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
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
Public Class TestClass
End Class 

Public Class Example
   Public Shared Sub Main()
      Dim test As New TestClass()
      Dim objectsToCompare() As Object = { test, test.ToString(), 123,
                                           123.ToString(), "some text",
                                           "Some Text" }
      Dim s As String = "some text"
      For Each objectToCompare In objectsToCompare
         Try
            Dim i As Integer = s.CompareTo(objectToCompare)
            Console.WriteLine("Comparing '{0}' with '{1}': {2}",
                              s, objectToCompare, i)
         Catch e As ArgumentException
            Console.WriteLine("Bad argument: {0} (type {1})",
                              objectToCompare,
                              objectToCompare.GetType().Name)
            Console.WriteLine("Exception information: {0}", e)
         End Try
         Console.WriteLine()
      Next
   End Sub 
End Class 
' 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 returns a representation of the current exception that is intended to be understood by humans. 문자열 표현을 반환한 문화권 구분 데이터를 포함 하는 예외, 여기서 ToString 현재 시스템 문화권을 고려해 야 할 필요 합니다.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.

기본 구현의 ToString 현재 예외, 메시지, 호출의 결과 발생 시킨 클래스의 이름을 가져옵니다 ToString 내부 예외를 호출 하는 결과에 Environment.StackTrace입니다.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. 이러한 멤버 중 하나라도 null, 값은 반환된 된 문자열에 포함 되지 않습니다.If any of these members is null, 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. 내부 예외 및 스택 추적의 이름을 하지 않은 경우에 반환 됩니다 null합니다.The name of the inner exception and the stack trace are returned only if they are not null.

이 메서드는 Object.ToString를 재정의합니다.This method overrides Object.ToString.

적용 대상