Este tema aún no ha recibido ninguna valoración - Valorar este tema

Exception.Message (Propiedad)

Actualización: noviembre 2007

Obtiene un mensaje que describe la excepción actual.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)
public virtual string Message { get; }
/** @property */
public String get_Message()

public function get Message () : String

Valor de propiedad

Tipo: System.String
Mensaje de error que explica la razón de la excepción o una cadena vacía ("").

Implementaciones

_Exception.Message

El texto de Message debería describir completamente el error y, si es posible, explicar la forma de corregirlo. El valor de la propiedad Message se incluye en la información devuelta por ToString.

La propiedad Message sólo se establece cuando se crea una clase Exception. Si no se proporcionó ningún mensaje al constructor de la instancia actual, el sistema suministra un mensaje predeterminado al que se ha aplicado formato utilizando la referencia cultural del sistema actual.

Notas para los implementadores:

Si produce una excepción de una propiedad, y necesita hacer referencia en el texto de Message al argumento de la propiedad que establece u obtiene, utilice "value" como nombre del argumento de la propiedad.

Notas para los herederos:

En las clases en las que se requiere un control del contenido o del formato del mensaje, se reemplaza la propiedad Message. Normalmente, el código de la aplicación obtiene acceso a esta propiedad cuando necesita mostrar información sobre una excepción que se haya detectado.

El mensaje de error debe traducirse.

En el siguiente ejemplo de código se produce y, a continuación, se detecta una clase Exception y se muestra el mensaje de texto de la excepción mediante la propiedad 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)
*/


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


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.