1. 异常是指程序运行中发生异常事件,注:错误无法处理。只能重启环境避免;异常程序在编译或者执行的过程中可能出现的错误,异常应该避免和处理。
2. 异常分为:编译时异常Exception以及运行时异常RuntimeException(包括数组索引越界异常 ArrayIndexOutOfBoundsException
,空指针异常 NullPointerException,类型转换异常 ClassCastException,数字转换异常 NumberFormatException)
3. JVM(虚拟机)默认处理异常的方式:终止程序或者是输出异常信息
4. 异常的处理方式:
第一,使用throws抛出异常(使用throws关键字处理异常,就是自己不处理,抛出去给调用者处理)。
结构为: 修饰符 返回值类型 方法名称 throws 异常1,异常2,异常3{ 可能出现错误代码 }
第二,try…catch关键字处理异常,这种方法是自己获取异常,并且自己处理。
结构为: try{
可能出现异常的代码。
}catch(异常类型1 变量){
}catch(异常类型2 变量){
}catch(异常类型3 变量){
}....
注:可以替换为
try{
可能出现异常的代码
}catch (Exception e){
// 打印异常栈信息!!
e.printStackTrace();
}
5. throws和throw的区别:
throws : 把已经出现的异常从方法那里抛出去。用在方法上的
throw:创建一个新异常,从这里抛出去,用在方法里面
6.自定义异常:必须继承Exception/RuntimeException,重写构造器,throw new 自定义异常