异常分为两种情况
1.编译时期有异常而运行过程中不会出现异常通常用throws Exception抛出异常
public class Test {
public static void main(String[] args)throws Exception {
new Thread(new Runnable() {
@Override
public void run() {
Thread.sleep(100);
System.out.println("线程随眠异常");
}
}).start();
}
}
2.编译时期没有异常但运行时期出现异常(这种异常通常是语法正确但是运用不正当或是判断等地方出错)
异常通常处理方式
1.throws Exception
2.try{}catch(异常类型 变量名){}
finally关键字作为最终处理使用
异常注意事项
1.
try/catch/finally都不可以单独使用
2.
运行时异常被抛出可以不处理(不捕获处理也不声明处理)
3.
在try/catch后可以追加finally代码块,其中的代码一定会被执行,通常用于资源回收
4.
方法重写时的注意事项
-父类的方法声明处理异常,子类覆盖(重写)父类方法时,只能声明相同的异常或该异常子集
-父类的方法未声明处理异常,子类覆盖(重写)父类方法时,只能捕获处理,不能声明处理
try...catch捕获多个异常时,前边的类不能是后边类的父类或同类