仅查找托管代码中的显式抛出
Finding Only Explicit Throws In Managed Code
我正在尝试为我的 API 打包遗留服务。在服务中执行 CRUD 操作的域模型会抛出明确的标准异常,如 ArgumentException
或 AggregateException
,同时也会通过失败的存储过程隐式抛出它们。我不希望通过包装所有异常来暴露有关数据库或程序的信息,我只想捕获过去开发人员抛出的那些。
捕获显式 throw new ArgumentException()
同时避免从失败的存储过程中抛出隐式 ArgumentException
的最佳方法是什么?
您可能已经注意到,没有一种方法可以只捕捉显式抛出。
解决问题的最安全方法是抛出继承自原始异常的自定义异常。
这样您就可以处理显式抛出并且不会破坏任何现有的 try/catch 语句
我正在尝试为我的 API 打包遗留服务。在服务中执行 CRUD 操作的域模型会抛出明确的标准异常,如 ArgumentException
或 AggregateException
,同时也会通过失败的存储过程隐式抛出它们。我不希望通过包装所有异常来暴露有关数据库或程序的信息,我只想捕获过去开发人员抛出的那些。
捕获显式 throw new ArgumentException()
同时避免从失败的存储过程中抛出隐式 ArgumentException
的最佳方法是什么?
您可能已经注意到,没有一种方法可以只捕捉显式抛出。
解决问题的最安全方法是抛出继承自原始异常的自定义异常。
这样您就可以处理显式抛出并且不会破坏任何现有的 try/catch 语句