Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Proprietà Exception.Message

Ottiene un messaggio che descrive l'eccezione corrente.

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)
public virtual string Message { get; }

Valore proprietà

Tipo: System.String
Messaggio di errore che spiega il motivo dell'eccezione o una stringa vuota ("").

Implementa

_Exception.Message

I messaggi di errore allo sviluppatore che gestisce l'eccezione. Il testo della proprietà Message è completamente descrivere l'errore e, se possibile, è inoltre possibile illustrare come correggere l'errore. I gestori eccezioni di livello superiore possono visualizzare il messaggio agli utenti finali, pertanto è necessario assicurarsi che viene spesso utilizzato sia corretto e che ogni frase del messaggio termina con un punto. Non utilizzare i punti interrogativi oppure i punti esclamativi. Se l'applicazione utilizza i messaggi di errore localizzati, è necessario assicurarsi che in maniera accurata vengono convertiti.

Nota sulla sicurezzaNota sulla sicurezza

Non mostrare le informazioni riservate nei messaggi di eccezione senza il controllo della disponibilità delle autorizzazioni appropriate.

Il valore della proprietà Message incluso nelle informazioni restituite da ToString. La proprietà Message viene impostata solo quando crea Exception. Se al costruttore non viene fornito alcun messaggio per l'istanza corrente, il sistema fornisce un messaggio predefinito che è formattato utilizzando le impostazioni cultura del sistema correnti.

Note per gli implementatori

Se si genera un'eccezione da una proprietà, e nel testo di Message è necessario fare riferimento all'argomento della proprietà impostata o ottenuta, utilizzare "value" come nome dell'argomento della proprietà.

Note per gli eredi

La proprietà Message viene sottoposta a override nelle classi che richiedono il controllo del contenuto e del formato del messaggio. In genere, il codice dell'applicazione accede a questa proprietà se è necessario visualizzare le informazioni relative a un'eccezione che è stata intercettata.

Il messaggio di errore deve essere localizzato.

Nell'esempio di codice viene quindi generato e intercetta un'eccezione Exception e viene visualizzato il messaggio di testo dell'eccezione utilizzando la proprietà Message.


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

Supportato in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft. Tutti i diritti riservati.