我有一个n层Web应用程序,我希望在来自DAL(数据访问层)的每个方法中捕获特定类型的异常,并将其重新抛出为特定类型的新异常。
我的DAL中有很多方法,所以我不想用try / catch开始包装每个方法。
我认为这可以使用异常处理应用程序块,但我找不到任何关于如何执行此操作的良好文档...
我不熟悉以前版本的应用程序块。
答案 0 :(得分:1)
您的DAL存储库是否有接口? 我将使用装饰器模式实现接口。 所有装饰器都会捕获异常,然后构建一个新异常并将其抛出到上层
作为一个注意事项,在我们的n层应用程序中,我们总是让异常被自然抛出并将它们捕获到一个单独的位置并记录它们。我们只会创建特定的例外情况,如果我们绝对必须这样做,那就非常罕见。
原因是代码的可维护性。当尝试/捕获无处不在时,代码很容易变得不可读。