Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Exception.Message Propriedade

Recebe uma mensagem que descreve a exceção atual.

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

public virtual string Message { get; }

Valor da propriedade

Tipo: System.String
The mensagem Error that explains the reason for the exceção, or an vazio Cadeia de Caracteres("").

Implementa

_Exception.Message

The text of Message should completely describe the error and should, when possible, explain how to correct it.The value of the Message property is included in the information returned by ToString.

The Message property is set only when creating an Exception.Se nenhuma mensagem tiver sido fornecida para o construtor para a instância atual, o sistema fornece uma mensagem padrão que está formatada usando a cultura atual do sistema.

OBSERVAÇÕES PARA Implementers:

If you throw an exception from a property, and you need to refer in the text of Message to the property argument that you set or get, use "value" as the name of the property argument.

OBSERVAÇÕES PARA Inheritors:

The Message property is overridden in classes that require control over message content or format.O código do aplicativo normalmente acessa essa propriedade quando ele precisa exibir informações sobre uma exceção que tenha sido detectada.

A mensagem de erro deve ser localizada.

The following code example throws and then catches an Exception and displays the exception's text message using the Message property.

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


// Example for the Exception.HelpLink, Exception.Source,
// Exception.StackTrace, and Exception.TargetSite properties.
package NDP_UE_JSL; 

import System.* ;

// Derive an exception; the constructor sets the HelpLink and 
// Source properties.
class LogTableOverflowException extends System.Exception
{
    private String overflowMessage = "The log table has overflowed.";

    public LogTableOverflowException(System.String auxMessage, 
        System.Exception inner)
    {
        super(String.Format("The log table has overflowed. - {0}", 
            auxMessage), inner);
        this.set_HelpLink("http://msdn.microsoft.com");
        this.set_Source("Exception_Class_Samples");
    } //LogTableOverflowException
} //LogTableOverflowException

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

    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) throws LogTableOverflowException
    {
        try {
            logArea.set_Item(elemInUse, newRecord);
            return elemInUse++;
        }
        catch (System.Exception e) {
            throw new LogTableOverflowException(
                String.Format("Record \"{0}\" was not logged.", newRecord), e);
        }
    } //AddRecord
} //LogTable

class OverflowDemo
{
    // Create a log table and force an overflow.
    public static void main(String[] args)
    {
        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}", 
                    System.Convert.ToString(count)));
            }
        }
        catch (System.Exception ex) {
            Console.WriteLine("\nMessage ---\n{0}", ex.get_Message());
            Console.WriteLine("\nHelpLink ---\n{0}", ex.get_HelpLink());
            Console.WriteLine("\nSource ---\n{0}", ex.get_Source());
            Console.WriteLine("\nStackTrace ---\n{0}", ex.get_StackTrace());
            Console.WriteLine("\nTargetSite ---\n{0}", ex.get_TargetSite());
        }
    } //main
} //OverflowDemo

/*
   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_JSL.LogTable.AddRecord(String newRecord) in D:\Test\ConsoleApplicat
ion7\ConsoleApplication7\Class1.jsl:line 45
   at NDP_UE_JSL.OverflowDemo.main(String[] args) in D:\Test\ConsoleApplication7
\ConsoleApplication7\Class1.jsl:line 62

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


Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2014 Microsoft