Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Exception.Message (Propiedad)

Obtiene un mensaje que describe la excepción actual.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public virtual string Message { get; }

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

Destino de los mensajes de error el desarrollador que controla la excepción. El texto de la propiedad de Message debe describir completamente el error y, cuando es posible, también debe explicar cómo corregir el error. Los controladores de excepciones de nivel superior pueden mostrar el mensaje a los usuarios finales, por lo que debe asegurarse de que los correcto y que cada frase de los extremos de mensajes con un punto. No utilice signos de interrogación o signos de exclamación. Si la aplicación utiliza mensajes de excepción traducidos, debe asegurarse de que se traducidos exactamente.

Nota de seguridadNota sobre la seguridad

No divulgue información confidencial en los mensajes de excepción sin comprobar los permisos adecuados.

El valor de la propiedad de Message se incluye en la información devuelta por ToString. Se establece la propiedad de Message sólo al crear 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.

Tiempo de ejecución y .NET Framework 4.5.1de Windows

A partir de .NET Framework 4.5.1 y Windows 8.1, fidelidad de mensajes de error de las excepciones que se propagan de los tipos y miembros en tiempo de ejecución de Windows que no forman parte de .NET Framework se mejora. En concreto, los mensajes de excepción de extensiones componentes de Visual C++ (C++/CX) ahora se propagan de nuevo los objetos de .NET Framework Exception .

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.

El ejemplo de código siguiente se produce y detecta ExceptionException y muestra el mensaje de texto de la excepción mediante la propiedad de 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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: 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 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft