您是否会像对待其他函数一样对待库函数,从而让它无法处理的所有异常按原样流出?
是的,这绝对是默认策略。
您会为该库创建自定义异常吗?
是的,如果调用者可以对这种情况采取一些措施,并且为此他们需要能够区分该异常与其他异常。但这种情况非常罕见。
库对数据库的依赖将如何影响您的异常处理策略?
数据库依赖项可能需要公开设置,让调用者指定库如何处理某些异常(例如,MaximumDeadlockRetries)。
您会捕获所有异常并抛出库的异常吗?您会将原始异常设置为库的异常内部异常吗?
不,并非所有例外。对于特定的异常,这是远程可能的,尽管我能想到的唯一可能想要执行此操作的情况是当我的库已经尝试处理异常(如上面的数据库场景中)并失败时。