Java.lang.Throwable 所有异常的超类。
Error和Exception
Error:灾难性的致命错误,是程序无法控制处理的。 出现后Java虚拟机(JVM)一般选择终止线程。
Exception:可以被程序处理的,应该尽量处理这些异常。
Exception下重要的子类RuntimeException:运行时异常。
ArrayIndexOutOfBoundsException:数组下标越界异常。
NullPointerException: 空指针异常
ArithmeticException:算术异常等等
1.检查性异常:用户错误或问题引起的异常,程序员无法预见。
2.运行时异常:最可能被避免的异常
3.错误:Error
异常处理机制
抛出异常,捕获异常。
关键字:try .catch . finally . throw . throws
catch(想要捕获的异常类型)
类似if,else。catch可以多写几个,但异常类型参照上图得从小到大。
快捷键:ctrl+alt+t
int a = 1;
int b = 0;
try { //监控区域
System.out.println(a/b);
} catch (ArithmeticException e) { //捕获异常
System.out.println("程序出现异常,变量不为0");
} finally { //善后工作 可省略
System.out.println("finally");
}
throw,throws
public static void main(String[] args) {
new text2().test(1,0);
}
//假设方法中处理不了这个异常,方法上抛出异常。
public void test(int a,int b) throws ArithmeticException{
if(b==0){
throw new ArithmeticException(); //主动抛出异常 一般在方法中使用。
}
}