这一条是写给那些自己写Exception的程序员的。
为了在异常发生后捕捉失败原因,一个异常的字符串表示应该包括所有“对该异常有贡献”的参数和域的值。也就是说在异常所能“携带”的信息中,尽量多的加入对调试人员有用的信息。
一个例子是 IndexOutOfBoundsException ,在这个下标越界的异常中,提示出了,最小小标、最大下标和当前下标的值,这样调试人员就可以很清楚的知道到底是上溢出了,还是下溢出了,溢出了多少。
这一条对于自己扩展Exception类来说,非常有意义。扩展时不仅仅是继承已有的异常就行了,纵然可以通过异常的名称来获得错误原因,但这往往是不够的,失败发生当时的信息必须通过异常的字符串表示传达出来。
【Effective Java 学习笔记】系列连载专题请见:
http://tonylian.iteye.com/categories/64208