JAVA编程思想学习(十二章)通过异常处理错误

对异常来说,最重要的部分就是类名了,所以有默认的构造器就行了。

要自定义异常类,必须从已有的异常类继承,最好是选择意思相近的异常类继承(不过这样的异常并不容易找)。一般来说继承Exception 或者 RuntimeException

异常处理程序

只有匹配的catch子句才能得到执行;这与switch语句不同,switch语句需要在每一个case后面跟一个break,以避免执行后续的case子句。

方法上的throws 是为了申明该方法将会抛出异常,打个比方:

如果你有源代码那么你可以在源码中查找throw语句来获知相关信息,然后程序库通常并不与源码一起发布,为了预防这样的问题,JAVA强制你使用throws语法,使你能以礼貌的方式告知方法调用者,这个方法调用者这个方法可能会抛出异常。这就是异常说明。

可以申明抛出异常,但实际程序里并不抛出异常,这样的好处是,为了今后的异常占个位子,在定义抽象类和接口是这种能力很重要。

非检查异常(不受检查的异常)RuntimeException

这种异常属于错误,将被自动捕获,就不用你亲自动手了,要是去检查RuntimeException的话,代码就显得太混乱了。虽然可以不用捕获,但是还是可以在代码中抛出RuntimeException类型的异常。

究其原因RuntimeException代表的是编程错误

Finally总能被执行

开发异常处理系统的原因是,如果为每个方法的所有可能发生的错误都进行处理的话,任务就显得过于繁重了,程序员也不愿意。结果常常是将错误忽略,应该注意到,开发异常异常处理的初衷是为了方便程序员处理错误。

异常处理的重要原则是“只有你知道如何处理的情况下才捕获异常”。实际上,异常处理的另一个重要目标是把错误处理的代码同错误发生的地点相分离,这使你能在一段代码中专注要完成的事情。至于如何处理则放到另一端代码中。易于理解和维护。

就可以将自己的检查异常 转为非检查异常(RuntimeException)

猜你喜欢

转载自my.oschina.net/u/3018126/blog/1809120