Auf Englisch lesen

Freigeben über


Exception.Message Eigenschaft

Definition

Ruft eine Meldung ab, mit der die aktuelle Ausnahme beschrieben wird.

C#
public virtual string Message { get; }

Eigenschaftswert

Die Fehlermeldung, die den Grund für die Ausnahme erläutert, oder eine leere Zeichenfolge ("").

Implementiert

Beispiele

Im folgenden Codebeispiel wird eine Exception Ausnahme ausgelöst und dann abfangen und die Textnachricht der Ausnahme mithilfe der Message -Eigenschaft angezeigt.

C#
// Example for the Exception.HelpLink, Exception.Source,
// Exception.StackTrace, and Exception.TargetSite properties.
using System;

namespace NDP_UE_CS
{
    // Derive an exception; the constructor sets the HelpLink and
    // Source properties.
    class LogTableOverflowException : Exception
    {
        const string overflowMessage = "The log table has overflowed.";

        public LogTableOverflowException(
            string auxMessage, Exception inner ) :
                base( String.Format( "{0} - {1}",
                    overflowMessage, auxMessage ), inner )
        {
            this.HelpLink = "https://learn.microsoft.com";
            this.Source = "Exception_Class_Samples";
        }
    }

    class LogTable
    {
        public LogTable( int numElements )
        {
            logArea = new string[ numElements ];
            elemInUse = 0;
        }

        protected string[ ] logArea;
        protected int       elemInUse;

        // The AddRecord method throws a derived exception if
        // the array bounds exception is caught.
        public    int       AddRecord( string newRecord )
        {
            try
            {
                logArea[ elemInUse ] = newRecord;
                return elemInUse++;
            }
            catch( Exception e )
            {
                throw new LogTableOverflowException(
                    String.Format( "Record \"{0}\" was not logged.",
                        newRecord ), e );
            }
        }
    }

    class OverflowDemo
    {
        // Create a log table and force an overflow.
        public static void Main()
        {
            LogTable log = new LogTable( 4 );

            Console.WriteLine(
                "This example of \n   Exception.Message, \n" +
                "   Exception.HelpLink, \n   Exception.Source, \n" +
                "   Exception.StackTrace, and \n   Exception." +
                "TargetSite \ngenerates the following output." );

            try
            {
                for( int count = 1; ; count++ )
                {
                    log.AddRecord(
                        String.Format(
                            "Log record number {0}", count ) );
                }
            }
            catch( Exception ex )
            {
                Console.WriteLine( "\nMessage ---\n{0}", ex.Message );
                Console.WriteLine(
                    "\nHelpLink ---\n{0}", ex.HelpLink );
                Console.WriteLine( "\nSource ---\n{0}", ex.Source );
                Console.WriteLine(
                    "\nStackTrace ---\n{0}", ex.StackTrace );
                Console.WriteLine(
                    "\nTargetSite ---\n{0}", ex.TargetSite );
            }
        }
    }
}

/*
This example of
   Exception.Message,
   Exception.HelpLink,
   Exception.Source,
   Exception.StackTrace, and
   Exception.TargetSite
generates the following output.

Message ---
The log table has overflowed. - Record "Log record number 5" was not logged.

HelpLink ---
https://learn.microsoft.com

Source ---
Exception_Class_Samples

StackTrace ---
   at NDP_UE_CS.LogTable.AddRecord(String newRecord)
   at NDP_UE_CS.OverflowDemo.Main()

TargetSite ---
Int32 AddRecord(System.String)
*/

Hinweise

Fehlermeldungen richten sich an den Entwickler, der die Ausnahme behandelt. Der Text der Message -Eigenschaft sollte den Fehler vollständig beschreiben und, wenn möglich, auch erklären, wie der Fehler korrigiert wird. Ausnahmehandler der obersten Ebene können die Nachricht für Endbenutzer anzeigen. Daher sollten Sie sicherstellen, dass sie grammatikalisch korrekt ist und jeder Satz der Nachricht mit einem Punkt endet. Verwenden Sie keine Fragezeichen oder Ausrufezeichen. Wenn Ihre Anwendung lokalisierte Ausnahmemeldungen verwendet, sollten Sie sicherstellen, dass sie korrekt übersetzt werden.

Wichtig

Geben Sie keine vertraulichen Informationen in Ausnahmemeldungen offen, ohne die entsprechenden Berechtigungen zu überprüfen.

Der Wert der Message -Eigenschaft ist in den von ToStringzurückgegebenen Informationen enthalten. Die Message -Eigenschaft wird nur beim Erstellen eines Exceptionfestgelegt. Wenn keine Nachricht für den Konstruktor für den aktuellen instance bereitgestellt wurde, stellt das System eine Standardnachricht bereit, die mit der aktuellen Systemkultur formatiert ist.

Hinweise für Vererber

Die Message -Eigenschaft wird in Klassen überschrieben, die die Kontrolle über den Nachrichteninhalt oder das Format erfordern. Der Anwendungscode greift in der Regel auf diese Eigenschaft zu, wenn Er Informationen zu einer ausnahme anzeigen muss, die abgefangen wurde.

Die Fehlermeldung sollte lokalisiert werden.

Gilt für:

Produkt Versionen
.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, 10
.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