我更喜欢使用“rc”错误代码返回错误管理方式。我同意这会带来更好的挑战,但是,我仍然觉得我不是以干净和可维护的方式设计和实施。所以,我正在寻找一本讨论模式的好书,而不仅仅是一本参考书。
参考书目也很好......
以下答案的摘录,“敏捷程序员的实践”,我发现特别引人注目:
**Keeping Your Balance**
• Determining who is responsible for handling an exception is part of design.
• Not all situations are exceptional.
• Report an exception that has meaning in the context of this code. A NullPointerException is pretty but just as useless as the null object described earlier.
• If the code writes a running debug log, issue a log message when an exception is caught or thrown; this will make tracking them down much easier.
• Checked exceptions can be onerous to work with. No one wants to call a method that throws thirty-one different checked exceptions. That’s a design error: fix it, don’t patch over it.
• Propagate what you can’t handle.
答案 0 :(得分:2)
我还没有找到一本专门用于异常处理的书,但是有一些书在一节或一章的篇幅中涉及这个主题。
作为引言和语言不可知的方法,请参阅 [Martin,Ch。 7] 。 [McConnel,Ch。 8.4] 还在非常一般的基础上处理异常处理。对于使用例外的附加好建议,请参阅 [Subramaniam,Hunt,Ch。 36,37] 。我还找到了 [Richter,Ch。 20] 非常有用,虽然它特定于.NET和C#。不过,有些部分也适用于其他语言。
建议:作为抛出异常和错误代码返回编程风格的替代方法,请对WWW中的“特殊情况模式”或“空对象模式”进行一些研究。
答案 1 :(得分:0)
我不知道有任何专门针对异常抛出/使用的最佳实践的书。保证整本书可能过于具体。此外,对于每种编程语言(C ++与Java)以及语言中的编程上下文(C#winforms与C#asp.net),最佳实践可能会有很大差异。
我怀疑你最好的选择是google它;您可能会找到一些解决该主题的博客文章(希望最好/最受尊重的博客文章将接近谷歌搜索结果的顶部)。