如果我抛出与记录相关的异常(logging),使用我的库的应用程序开发人员可以清楚地看到记录未按预期进行。另一方面,这可能会成为问题的额外来源。
如果我抑制异常并且只是静默地不记录,那么如果无法访问数据库等,则开发人员可能会错过重要信息。
有没有关于如何处理这个问题的建议、通用指南(如果a则b等)?
根据我目前的了解:
Microsoft 异常处理指南 指出:
✗ 不要有公共成员,可以基于某些选项抛出异常或不抛出异常。
因此,是否抛出异常的选项将违反这些准则,但如果无法确定异常的可能性,它们不会对抛出异常进行陈述。
我还在这个问题/答案中阅读到,我不应该捕获异常,因为我无法对其进行有意义的处理,但该问题针对的是企业级系统,而我的问题则在更一般的层面上提出。
Trace
。他们可以使用你的库进行正常日志记录,但也可以选择配置Trace
,并将错误日志写入文件或 Windows 事件日志中,这应该总能成功。 - Joe Enos