¿Cuál es la forma sugerida para mostrar mensajes de excepción en la interfaz de usuario que se produjeron en Negocios Capa?

StackOverflow https://stackoverflow.com/questions/2766309

Pregunta

¿Hay un patrón o 'mejor práctica' en la creación de mensajes amistosos del usuario en la capa de presentación mediante el uso de excepciones que fueron lanzados desde la capa de negocio?

En realidad, en muchos casos yo prefiero arrojar excepciones de aplicación y esto me está obligando a atraparlos en la interfaz de usuario (aspx.cs páginas). Y si el proceso es complejo que puede producir muchos tipos diferentes de excepciones tengo que tener muchos bloques de captura para producir mensajes de error específicos.

¿Hay una mejor manera de llegar a su mente? Un patrón puede que para casos similares?

gracias

¿Fue útil?

Solución

Se podría utilizar una clase de excepción personalizada para devolver errores a través de una excepción a la capa de interfaz de usuario. Estas excepciones personalizadas a continuación, podrían contener un mensaje de error que va a ser significativo para el usuario, por lo que puede mostrar que al igual que lo haría con cualquier otro mensaje de error.

De esa manera usted será sólo necesita un único gestor de excepciones en la interfaz de usuario, en lugar de muchos para cada tipo de error ...

Otros consejos

Primero: creo que es la mejor práctica sólo para capturar excepciones en el código que puede manejar en este momento. Si no puedo manejar dejar que se promueva a nivel superior.

Segundo: Hay una posibilidad de capturar excepciones a nivel mundial:

public static void RegisterExceptionHandler()
{
    Application.ThreadException += new System.Threading.ThreadExceptionEventHandler    (Application_UIThreadException);
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
}

En este manejo de métodos todas las excepciones que no han sido manipulados quedan atrapados excepción. Aquí se puede notificar al usuario de que algo "inesperado" tiene acaecer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top