Java异常处理1

1 java.lang.Throwable 下有Exception 和 Error两个子类,我们只解决异常,不解决错误

2 异常分类: 编译时异常和运行时异常。前者必须显式的处理异常。后者可以不显式的处理。

在API的Exception的子类中,除了运行时异常是RuntimeException,除此之外都是编译时异常。

3 常见的运行时异常:

1)ArrayIndexOutOfBoundsException数组下标越界异常

2)ArithmeticException算数异常

3)ClassCastException类型转换异常

4) NullPointerException空指针异常

4 try内的变量类似局部变量,出了try以后,不能被调用。选中代码块,右键surround with,选try catch block,自动添加。

5 若catch中多个异常类型是“并列”关系,上下无所谓

   若catch中多个异常类型是“包含”关系,子类必须放在父类上面,否则报错。

6

1)finally可选,若有finally其中的代码一定被执行。如果没有finally,同样的代码可能不被执行,因为在上面的catch语句可能被抛到上层方法,抛给java虚拟机,程序退出,后面语句就不执行了。

2)如果try-catch中有return,在执行它们的return之前的语句后,跳转到finally语句,里面有return,执行finally中的return结束。

3)如果finally没有return,则执行try或catch中的return语句,实现退出

7 编译时异常,不是说有异常才处理,而是存在异常的隐患,必须在编译前提示程序,万一出现异常,如何处理。所以要提前写try-catch

原文地址:https://www.cnblogs.com/yjtm53/p/4141327.html