Tento článek byl přeložený strojově. Pokud chcete zobrazit článek v angličtině, zaškrtněte políčko Angličtina. Anglickou verzi článku můžete také zobrazit v místním okně přesunutím ukazatele myši nad text.
Překlad
Angličtina

Vlastnost Exception.Message

.NET Framework (current version)
 

Získá zprávu, která popisuje aktuální výjimku.

Obor názvů:   System
Sestavení:  mscorlib (v mscorlib.dll)

public virtual string Message { get; }

Hodnota vlastnosti

Type: System.String

Chybová zpráva, která vysvětluje důvod výjimky nebo prázdný řetězec ("").

Implementuje

_Exception.Message

Chybové zprávy Cíl vývojář, který je zpracování výjimek. Text Message vlastnost by měla zcela popisující chybu a pokud je to možné, by měl také vysvětlují, jak chybu opravit. Obslužné rutiny výjimek nejvyšší úrovně může zobrazit zprávu koncovým uživatelům, takže, měli byste zajistit, že je gramaticky správné a zda jednotlivé věty zprávy končí tečkou. Nepoužívejte otazník nebo vykřičník. Pokud vaše aplikace používá zprávy lokalizované výjimek, měli byste zajistit, že jejich přesně převodu.

System_CAPS_security Zabezpečení Poznámka

Neposkytují citlivé informace ve zprávách výjimek bez kontroly příslušná oprávnění.

Hodnota Message vlastnost je součástí informace vrácené ToString. Message Je nastavena pouze při vytváření Exception. Pokud byl do konstruktoru pro aktuální instance žádná zpráva, systém poskytuje výchozí zprávu, která je naformátována pomocí aktuální jazykovou verzi systému.

Od verze .NET Framework 4.5.1 a Windows 8.1, je vylepšen věrnosti chybové zprávy z výjimky, které jsou šířeny z prostředí Windows Runtime typy a členy, které nejsou součástí rozhraní .NET Framework. Zejména výjimka zpráv ze součásti rozšíření Visual C++ (C + +/ CX) jsou nyní šířeny zpět do rozhraní .NET Framework Exception objekty.

Poznámky pro implementátory:

Je-li vyvolat výjimku z vlastnosti a je nutné se podívat do textu Message chcete vlastnost argument, který nastavení nebo načtení, použijte jako název argumentu vlastnost "hodnota".

Poznámky pro dědice:

Message Vlastnost je přepsána ve třídách, které vyžadují kontrolu nad formátu nebo obsahu zprávy. Kód aplikace obvykle přistupuje tuto vlastnost, když jej potřebuje k zobrazení informací o výjimku, která byla zachycena.

Chybová zpráva by měla být lokalizována.

Následující příklad kódu vyvolá výjimku a pak zachycuje Exceptionvýjimka a zobrazí výjimka text zprávy pomocí Message vlastnost.

// 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)
*/

Univerzální platforma Windows
K dispozici od 8
.NET Framework
K dispozici od 1.1
Přenosná knihovna tříd
Podporováno v: přenosné platformy .NET
Silverlight
K dispozici od 2.0
Windows Phone Silverlight
K dispozici od 7.0
Windows Phone
K dispozici od 8.1
Zpět na začátek
Zobrazit: