¿Cuál es la mejor forma de manejar excepciones que se producen en declaraciones catch. Actualmente estamos escribiendo el mensaje de excepción para el método de escritura del objeto de respuesta. Pero quiero una solución mediante la cual el usuario reciba solo un mensaje de error general de que algo salió mal, pero tenemos que obtener una descripción detallada del error. Me gustaría conocer las diferentes prácticas empleadas para el manejo de excepciones en C#.Métodos para manejar excepciones en un proyecto web utilizando C#
Respuesta
Para el proyecto web y para protegerse de las excepciones que se envían al navegador, puede activar la Supervisión de estado y también el uso de páginas de error personalizado. Si está esperando la posibilidad de una excepción dentro de la declaración de captura, simplemente coloque otra captura de prueba allí para que caiga con gracia.
En el Global.asax También puede suscribirse al evento Application_Error, que será llamado para una excepción no controlada
Andrew
supervisión de estado en ASP.NET: http://www.4guysfromrolla.com/articles/031407-1.aspx
Escribir en el registro de eventos es una de las opciones.
Registraría el error detallado en mi base de datos y redirigiría al usuario a una página de error genérica.
Bien por ti por querer arreglar esto. Escribir mensajes de excepción directamente al usuario puede representar un riesgo de seguridad importante: como ya se ha dado cuenta, los mensajes de excepción pueden contener mucha información que podría ayudar a un usuario malintencionado a obtener acceso a su sitio.
Echaré un vistazo a ELMAH (Módulos y manejadores de registro de errores); es una forma fácil de agregar el registro de errores detallados a su aplicación web.
Como dijo REA_ANDREW, use Health Monitoring junto con las páginas de error personalizadas.
Una cosa que no dijo explícitamente es que debes evitar el estilo de programación que pone a prueba/atrapa bloques alrededor de todo. El monitoreo de estado registrará las excepciones no controladas, y las páginas de error personalizadas mostrarán al usuario lo que quiera que el usuario vea sobre el error (en todo caso). Pero esto solo ocurrirá si lo haces y no si tomas las excepciones, así que déjalos en paz y déjalos que se propaguen.
- 1. ¿Puede un programa C manejar excepciones C++?
- 2. Manejar excepciones en servicios web con Elmah
- 3. Proyecto web en C++ utilizando OpenCV con Wt
- 4. Manejar excepciones en AppDomain.CurrentDomain.UnhandledException
- 5. Código de ejemplo para manejar Excepciones
- 6. Manejar Excepciones de ORACLE
- 7. Cómo manejar excepciones DOP
- 8. Manejar o no manejar parámetros nulos con excepciones
- 9. Generar proyecto C# utilizando CMake
- 10. ¿Cómo debo manejar las excepciones en esta función C#?
- 11. Creación de un proyecto en C++ utilizando rake en Eclipse
- 12. C#: Cómo convertir un proyecto de sitio web a un proyecto web
- 13. ¿Dónde está el lugar correcto para manejar excepciones en mis aplicaciones de C#?
- 14. ¿Cómo configuro un proyecto OpenGL utilizando XCode 4.2 en C++?
- 15. ¿Manera correcta de manejar excepciones en Python?
- 16. ¿Cómo y dónde manejar las excepciones en una aplicación web de 3 niveles? Específicamente SQL Base de excepciones
- 17. Cómo manejar excepciones en un bloque playframework 2 asíncrono (Scala)
- 18. ¿Cómo manejar excepciones generales en Asp.Net MVC?
- 19. Xcode - encontrar métodos muertos en un proyecto
- 20. C# utilizando params y métodos de extensión
- 21. Conversión de un proyecto Java en un proyecto web dinámico
- 22. Gestión de excepciones ASP.NET MVC Web API
- 23. Patrones para manejar un punto muerto SQL en C#?
- 24. ¿Cómo manejar las excepciones de REST?
- 25. ¿Existe un patrón típico para manejar cadenas de caracteres anchos en excepciones?
- 26. Utilizando métodos de extensión C# de C++/CLI administrado
- 27. La mejor forma de manejar excepciones en una aplicación con servicios web
- 28. El momento adecuado para manejar todas las excepciones
- 29. Cómo manejar adecuadamente excepciones importantes sin marcar
- 30. Cómo manejar excepciones de métodos asíncronos dentro de una instrucción SelectMany
Definitivamente el camino a seguir +1 –