在业务层中生产的UI上显示异常消息的建议方法是什么?
-
03-10-2019 - |
题
通过使用从业务层中抛出的例外,在演示层中创建用户的友好消息的模式或“最佳实践”?
实际上,在许多情况下,我更喜欢提出应用程序异常,这迫使我在UI(ASPX.CS页面)上捕获它们。而且,如果该过程很复杂,可能会产生许多不同类型的异常,我必须有许多捕获块才能产生特定的错误消息。
有什么更好的方法吗?可能针对类似情况的模式?
谢谢
解决方案
您可以使用自定义类别通过UI层返回错误。然后,这些自定义异常可能包含一个对用户有意义的错误消息,因此您可以显示像其他任何错误消息一样。
这样,您只需要在UI中需要一个异常处理程序,而不是每种类型的错误...
其他提示
首先:我认为最好的做法是我目前可以处理的代码中的例外情况。如果我无法处理,只需让它提升到更高的水平。
第二:有可能在全球范围内捕获例外:
public static void RegisterExceptionHandler()
{
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler (Application_UIThreadException);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
}
在此例外处理方法中,所有尚未处理的例外都被捕获。在这里,您可以通知用户发生“意外”的事情。
不隶属于 StackOverflow