构建 .NET 库时,您的异常处理策略是什么?具体来说,您关于处理库调用内的异常并将其暴露给调用代码的政策是什么?
例如,
- 您是否会像对待其他函数一样对待库函数,从而让它无法处理的所有异常按原样流出?
- 您会为该库创建自定义异常吗?
- 您会捕获所有异常并抛出库的异常吗?您会将原始异常设置为库的异常内部异常吗?
- 库对数据库的依赖将如何影响您的异常处理策略?
对于 .NET 库中的异常处理,您建议采用哪些准则和规则?
您是否会像对待其他函数一样对待库函数,从而让所有
它无法处理流出的异常
照原样吗?
是的,这绝对是默认策略。
您会为该库创建自定义异常吗?
是的,如果来电者可以对这种情况采取一些措施and为此,他们需要能够区分该异常与其他异常。但这种情况非常罕见。
库对数据库的依赖将如何影响您的异常处理策略?
数据库依赖项可能需要公开设置,让调用者指定库如何处理某些异常(例如,MaximumDeadlockRetries
).
您会捕获所有异常并抛出库的异常吗?
你会设置原来的例外吗
作为图书馆的内部异常
例外?
不,并非所有例外。对于特定的异常,这是远程可能的,尽管我能想到的唯一可能想要执行此操作的情况是当我的库已经尝试处理异常(如上面的数据库场景中)并失败时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)