异常处理

 ——异常是在运行时出现的错误。在java中,所有异常都是用类表示的,所有异常都源自Throwable的类,所以当出现异常时,就会产生某种异常类的对象。

 --Throwable有两个直接的子类:Exception和Error(这个错误发生在JAVA虚拟机中,我们无法控制,将不会处理).

 --Exception类具有一个子类RuntimeException,表示各种常见的运行时错误。

 --java异常处理通过try、catch、throw、throws和finally等5个关键词进行。

 try{//blockofcodetomonitorforerrors}对可能产生异常的代码块进行监视和引发异常。

  catch(ExcepType1exOb){//handlerforExcepType1}catch捕捉对应异常类型的异常并对其进行处理,exOb将接收其值。

 catch(ExcepType2exOb){//handlerforExcepType2}...

 捕捉异常好处是防止程序异常终止,并且可以继续执行,如果没有捕捉到异常,JVM将捕捉到它,并且JVM默认异常处理程序将终止执行。

 --异常类型ArrayIndexOutOfBoundsException的数组越界,以0异常类型:ArithmeticException。

  --throw语句手动抛出异常对象try{//blockofcodetomonitorforerrors;thrownewArithmeticException();}

 --重新引发异常catch(ExcepType1exOb){//handlerforExcepType1;throwexc;}

 如果再次引发异常,那么相同的catch语句将无法捕获异常,而将其传递到下一个catch语句。

 --finally代码块在退出try/catch代码块时执行代码块。

 --throws:某些情况下,如果某个方法生成了自己没有进行处理的异常,那么它必须在throws语句中声明。

无需在throws列表中指定任何Error或RuntimeException异常,并且需要声明其他类型的声明,否则将导致编译错误。

 publicvoidreadTestData()throwsIOException{}

 --自定义异常Exception继承Throwable的方法。