2011-05-25 39 views
6

Vengo de un fondo C# con aplicaciones de escritorio y sobre todo PHP para cosas web, y pensé que con código Razor podría hacer algo como esto para mostrar un mensaje de excepción (como se puede en las aplicaciones de escritorio):Cómo mostrar mensaje de excepción (Razor/C#)

@{ 
    // Other code.... 



    try 
    { 
     WebMail.Send(to: "[email protected]@blah.com", 
     subject: "New message from - " + email, 
     body: message 
     ); 

     <p>Thanks for your message. We'll be in touch shortly!</p> 
    } 
    catch(Exception exception) 
    { 
      <p>exception.Message;</p> // Why doesn't this display exception details? 
    } 
} 

Nota: he puesto intencionadamente dos @ 's allí para forzar una excepción, por lo que puedo ver cómo mostrar mensajes de excepción.

+0

No es parte del problema, pero no debería estar escapando @ signos en una cadena: talk @@ blah.com debería ser [email protected] –

+0

Ese era el punto. Agregué dos @ 's para * forzar * una excepción, así que pude probar los resultados de la cláusula de captura, para ver cómo debería escribir el código de excepción. –

+1

Eche un vistazo al siguiente artículo: [http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax](http:/ /www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax) La sección "Manejo de errores" brinda algunas ideas sobre cómo se debe hacer. Espero que esto ayude. – Kamyar

Respuesta

8

Cuando usa la etiqueta <p>, el motor de la máquina de afeitar abandona el modo C# y entra en el modo html. Pruebe

<p>@exception.Message;</p> 

en el bloque catch.

Cuestiones relacionadas