Asp.net mvc 使用try-catch进行验证

Asp.net mvc 使用try-catch进行验证,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我有一个服务层,它调用访问dbContext的存储库。 如果我在服务层或控制器中捕获DbUpdateException,是否比创建自己的Save方法(调用dbContext.SaveChanges方法、捕获异常并返回包含异常列表的自定义类)更容易影响性能 捕获异常的级别实际上只会影响堆栈跟踪的大小以及恢复到稳定状态所需的解缠内容。捕获的异常级别越高,跟踪的帧就越多 然后还有一个问题,就是将信息从数据层泄漏到控制器/服务层。如果在服务层捕获异常,它可能会将其绑定到特定的实现,例如捕获EF异常 捕获

我有一个服务层,它调用访问dbContext的存储库。

如果我在服务层或控制器中捕获DbUpdateException,是否比创建自己的Save方法(调用dbContext.SaveChanges方法、捕获异常并返回包含异常列表的自定义类)更容易影响性能

捕获异常的级别实际上只会影响堆栈跟踪的大小以及恢复到稳定状态所需的解缠内容。捕获的异常级别越高,跟踪的帧就越多

然后还有一个问题,就是将信息从数据层泄漏到控制器/服务层。如果在服务层捕获异常,它可能会将其绑定到特定的实现,例如捕获EF异常

捕获该层中特定于实现的异常,并返回与您的业务域相关的内容,这样,如果您切换出dal的实现,您就不必在服务层中为新的异常重新编码,这会更干净

这都是关于隔离