我有一个包含以下3个层的WCF:
- 服务 (Service)
- 业务逻辑层 (BLL)
- 数据访问层 (DLL)
此外,在 Service 中调用 BLL 时,我是否应该始终使用 Try 和 Catch 来捕获异常?场景1:
DLL 中出现了异常。
场景2:
BLL 中出现了异常。
catch(Exception) { }
或者catch(Exception) { /* log it */ }
这样的代码,它们捕获了所有可能出现的异常并继续执行。但是如果你仔细想一下,程序此时处于一个未知的状态 - 你不知道发生了什么,也不知道数据是否完好无损 - 所以最好通知用户并让程序停止运行 - 换句话说,不要捕获异常或重新抛出异常。 - Random Dev