异常简述(一)

来源:互联网 发布:比梦梦奈更污的软件 编辑:程序博客网 时间:2024/04/25 14:32
                  
层次结构:
Throwable
——Exception
   ——IOEception
   ——RuntimeException
         ——ArrayIndexOutOfBoundsException
——Error
受查异常:在编译的时候必须处理,不处理编译通不过(往往在代码控制能力之外的因素,比如访问的文件不存在)  

非受查异常:可以在编译的时候不处理,编译通过,但在运行的时候可能出错导致程序中断,往往是是程序编写的问题导致,比如分母为0;


try{
可能出错的程序代码
}catch(异常类型 e){
}[可以有多个catch]
finally
 {
(不管有没有异常都会执行主要用来释放资源)


}



注意:我们可以直接用一个异常的父类型进行捕获所有的子异常(多态),记住,先具体的异常捕获再通用的捕获;

finally可以省略;

try可以和catch一起使用,也可以和finally一起使用;

finally在return之前先执行。

当结束进程的时候System.exit(0)  结束进程 finally就不会执行了。


throw:手动抛出一场,往往在方法中的任意位置抛出一个异常。
throws:用来修饰方法的,告知调用者我这个方法可能会抛异常。
1.方法抛出的是非受查异常,调用者可以不捕获,但不推荐,最好调用者去捕获方法告知的异常,防止程序中断。
2.方法抛出的是受查异常,那么调用者必须去捕获抛出的异常,否则编译都通不过。