尽管这条建议看上去是显而易见的,但是它却常常被违反,因此值得再次提出来。当API的设计者声明一个方法将抛出某个异常的时候,它们等于正在视图说明某...
当对象抛出异常之后,通常我们期望这个对象仍然保持在一种定义良好的可用状态之中,即使失败是发生在执行某个操作的过程中间。对于受检异常而言,这尤其重...
当程序由于未捕获的异常而失败的时候,系统会自动打印出该异常的堆栈轨迹。在堆栈轨迹中包含该异常的字符串表示法,即它的toString方法的调用结果...
描述一个方法所抛出的异常,是正确使用这个方法时所需文档的重要组成部分。因此,花点时间仔细地为每个方法抛出的异常建立文档是特别重要地。 始终要单独...
如果方法抛出的异常与它所执行的任务没有明显的联系,这种情形将会使人不知所措。当方法传递由底层抽象抛出的异常时,往往会发生这种情况。除了使人感到困...
专家级程序员与缺乏经验的程序员一个最重要的区别在于,专家追求并且通常也能够实现高度的代码重用。代码重用是值得提倡的,这是一条通用的规则,异常也不...
许多Java程序员不喜欢受检异常,但是如果使用得当,它们可以改善API和程序。不同于返回码和未受检异常的是,它们强迫程序员处理异常地条件,大大地...
Java程序设计语言提供了三种可抛出结构:受检异常、运行时异常和错误。关于什么时候适合使用哪些可抛出结构,程序员中间存在一些困惑。虽然这项决定并...
某一天,如果你不走运的话,可能会碰到下面这样的代码: 这段代码有什么作用呢?看起来根本不明显,这正是它没有真正被使用的原因(详见第67条)。事实...
文集作者