Java的异常处理机制(runtimeException checkedException)
在java的异常处理机制中,有两种异常处理方式,一种是throw往外抛异常,一种是try…catch…捕获异常处理异常。
1、运行时异常(runtimeException)
运行异常的特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try…catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。
2、受检查异常(checkedException)
除了运行异常外,其他异常都属于受检查异常,这种异常的特点是要么用try…catch捕获处理,要么用throws语句声明抛出,否则编译不会通过。
3、两者的区别
运行异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。
受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。当然,这两种异常都是可以通过程序来捕获并处理的。
对于运行异常,建议不要用try…catch…捕获处理,应该在程序开发调试的过程中尽量的避免,当然有一些必须要处理的,自己知道了那个部分会出现异常,而这种异常你要把它处理的你想要的结果,例如:空值处理。
异常处理的原则上是,能自己处理的不往上抛,尽量把异常细化不要什么异常都直接用Exception来代,在一个try语句块中尽量少的异常。