(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Exception.Message-Eigenschaft

Ruft eine Meldung ab, die die aktuelle Ausnahme beschreibt.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public virtual string Message { get; }

Eigenschaftswert

Typ: System.String
Die Fehlermeldung, die die Ursache der Ausnahme erklärt, bzw. eine leere Zeichenfolge ("").

Implementiert

_Exception.Message

Fehlermeldungen sind auf den Entwickler ab, der die Ausnahme behandelt. Der Text der Message-Eigenschaft sollte den Fehler vollständig beschrieben und, wenn möglich, sollte auch an, wie der Fehler behoben wird. Ausnahmehandler der obersten Ebene zeigen die Meldung für Endbenutzer an, sollten Sie sicherstellen, dass sie grammatisch richtig ist und dass jeder Satz der Meldung mit einem Punkt beendet. Verwenden Sie nicht Fragezeichen oder Ausrufezeichen. Wenn die Anwendung lokalisierte Ausnahmemeldungen verwendet, sollten Sie sicherstellen, dass sie genau übersetzt werden.

SicherheitshinweisSicherheitshinweis

Machen Sie vertrauliche Informationen in Ausnahmemeldungen nicht bekannt, ohne nach die entsprechenden Berechtigungen zu überprüfen.

Der Wert der Eigenschaft wird Message in den Informationen enthalten, die von ToString zurückgegeben werden. Die Message-Eigenschaft wird festgelegt, wenn der Exception erstellt. Wenn dem Konstruktor keine Meldung für die aktuelle Instanz übergeben wird, stellt das System eine gemäß der aktuellen Systemkultur formatierte Standardmeldung bereit.

Windows-Runtime und .NET Framework 4.5.1

Ab .NET Framework 4.5.1 und Windows 8.1, wird die gesamte von Fehlermeldungen von Ausnahmen, die von Windows Runtime verwendet werden und Member weitergegeben werden, die nicht zu .NET Framework sind, verbessert. Insbesondere werden Ausnahmemeldungen von den Komponentenerweiterungen für Visual C++ (C++/CX) nun zurück in Objekte .NET Framework- Exception weitergegeben.

Hinweise zur Implementierung

Wenn Sie eine Ausnahme ausgehend von einer Eigenschaft auslösen und Sie im Message-Text auf das abgerufene oder festgelegte Eigenschaftsargument verweisen möchten, verwenden Sie "value" als Namen für das Eigenschaftsargument.

Hinweise zur Vererbung

Die Message-Eigenschaft wird in Klassen überschrieben, die den Inhalt oder das Format von Meldungen steuern müssen. Anwendungscode greift normalerweise auf diese Eigenschaft zu, wenn Informationen über eine abgefangene Ausnahme angezeigt werden sollen.

Die Fehlermeldung sollte lokalisiert werden.

Im folgenden Codebeispiel aus und löst anschließend fängt eine Exception Ausnahme ab und zeigt die Textmeldung der Ausnahme mit der Message-Eigenschaft an.


// 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 = "http://msdn.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 ---
http://msdn.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)
*/


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft