通过使用业务层抛出的异常在表示层中创建用户友好消息是否有模式或“最佳实践”?
实际上,在许多情况下,我更喜欢抛出应用程序异常,这迫使我在 UI(aspx.cs 页面)上捕获它们。如果过程很复杂,可能会产生许多不同类型的异常,我必须有许多 catch 块来产生特定的错误消息。
有没有更好的方法浮现在您的脑海中?类似情况的模式可能吗?
谢谢
通过使用业务层抛出的异常在表示层中创建用户友好消息是否有模式或“最佳实践”?
实际上,在许多情况下,我更喜欢抛出应用程序异常,这迫使我在 UI(aspx.cs 页面)上捕获它们。如果过程很复杂,可能会产生许多不同类型的异常,我必须有许多 catch 块来产生特定的错误消息。
有没有更好的方法浮现在您的脑海中?类似情况的模式可能吗?
谢谢
第一:我认为最好只在我现在可以处理的代码中捕获异常。如果我不能处理就让它提升到更高的水平。
第二:有可能在全局范围内捕获异常:
public static void RegisterExceptionHandler()
{
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler (Application_UIThreadException);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
}
在这种异常处理方法中,所有未处理的异常都会被捕获。在这里,您可以通知用户“意外”发生了。
您可以使用自定义异常类通过异常向 UI 层返回错误。然后,这些自定义异常可能包含对用户有意义的错误消息,因此您可以像显示任何其他错误消息一样显示它。
这样,您将只需要 UI 中的一个异常处理程序,而不是为每种类型的错误提供许多...