java第十一章学习总结

1.Throwable是所有Error和Exception的父类。

2.Error错误:程序员无法通过程序对Error进行处理

3.Exception异常:程序员可以通过代码对异常进行处理,或预防异常。

4.异常分类:

  • 捕获性异常(除RuntimeException其余都是)
  • 非捕获性异常(运行时异常)RuntimeException

5.捕获性异常必须在程序中进行捕获,否则编译无法通过

6.RuntimeException可以捕获也可以不捕获,不捕获也编译不会报错,但有时会抛出异常

7.捕获异常:try/catch关键字进行捕获

public void exception(){
     try {
         String str = null;
         str.toCharArray();
         //int i = 10 / 0 ;
     }  catch(NullPointerException e){
           //catch用于处理异常,只有发生异常才会执行的语句
           System.out.println("发生空指针异常");

      }finally {
 	   //finally块中用于存放:无论代码是否出现异常 都要去执行的代码
	   System.out.println("finally");
      }

}

8.抛出异常:当不想处理异常时throws关键字进行异常抛出

public void exception()throws NullPointerException{
         String str = null;
         str.toCharArray();
}

9.如果不对异常进行处理或连续抛出异常最终将抛出到jvm中,当jvm接收到异常信息将强制结束程序,并打印异常信息

10.一个try语句可以有多个catch语句,catch异常处理应该是平级关系或由小到大,否则出现错误

11.当出现非RuntimeException有两种处理方案

  • 使用throws关键字抛出异常
  • 内部消化(try/catch处理)

12.自定义异常:继承Exception或RuntimeException内部可以不写方法

public class WowException extends Exception{
     //这是一个非RuntimeException异常
}

public class WowException extends RuntimeException{
     //这是一个RuntimeException异常
}

13.引发异常:throw关键字能引发异常

try {
	throw new WowException();
   } catch (WowException e) {
	e.printStackTrace();//打印异常信息
   }

 

转载于:https://my.oschina.net/u/195953/blog/34165

你可能感兴趣的:(java)