异常笔记

来源:互联网 发布:人民大学数据库 编辑:程序博客网 时间:2024/05/18 14:44

一、异常处理的作用

能够将异常提示给变成人员或者用户,使本来已经终端的程序能够继续运行或者推出,并且能保存用户当前的操作或者数据回滚,并能把占有的资源释放掉。

二、Error与Exception的区别

(1)都继承Throwable类
(2)Error表示系统错误,如内存溢出、虚拟机错误(VirtualMachineError)、线程死锁(ThreadDeath),是系统或者硬件的错误
(3)Exception是编码、环境或者用户操作输入出问题时出现的错误,分为非检查时异常(运行时异常RuntimeExeption)和检查时异常(非运行时异常)

三、处理异常

(1)处理

try{    //一些会抛出异常的方法}catch(Exception e){    //处理Exception的代码块}...(n个catch块)...{}finally{    //最终将要执行的一些代码}

(2)抛出
throw - 将产生的异常抛出(动作)
throws - 声明将要抛出何种类型的异常(声明)
例:

public void 方法名(参数) throws 异常列表{    throw new Exception();}

四、自定义异常

public class CustomException extends Exception{    //构造方法    public CustomException(String message){        super.(message);    }}

五、异常链

在捕获到的异常中添加一个新的异常,并引用当前捕获的异常,再把新的异常抛出。(新的异常中会包含原始异常的所有信息)
例:

try{    方法();}catch(IOException e){    RuntimeException newExc = new RuntimeException("文件IO异常");    newExc.initCause(e);    throw newExc;}

运行结果:
java.lang.RuntimeException : 文件IO异常
at ………
Caused by : java.io.IOException : ….

0 0