JAVA异常与异常处理重点

JAVA异常与异常处理重点

捕获异常try-catch-finally

1、try
    捕获异常的第一步是用 try{…}选定捕获异常的范围,由try所限定的代码块中的语句在执行过程中可能会生成异常对象。Try语句 不能单独存在,必须有后面的catch或finally语句。

2、catch  
    每个try代码块可以伴随 一个或多个catch语句,用于处理try代码块中所生成的异常事件。catch语句只需要一个形式参数来指明它所能够捕获的异常类型,这个类必须是Throwable的子类,运行时系统通过参数值把被抛出的异常对象传递给catch块。

    catch块中的代码用来 对异常对象进行处理,与访问其它对象一样,可以访问一个异常对象的变量或调用它的方法。getMessage( )是类Throwable所提供的方法,用来得到有关异常事件的信息,类Throwable还提供了方法printStackTrace( )用来跟踪异常事件发生时执行堆栈的内容。

3.catch 语句的顺序:   
捕获异常的顺序和catch语句的顺序有关, 当捕获到一个异常时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的异常,然后再逐渐一般化。也就是一般先安排子类,再安排父类。


4.、finally
    捕获异常的最后一步是通过finally语句为异常处理提供一个 统一的出口,使得在控制流转到程序的其它部分以前,能够对程序的状态作统一的管理。一般是用来关闭文件或释放其他的系统资源。虽然finally作为try-catch-finally结构的一部分,但在程序中是可选的,也就是说可以没有 finally语句。
    如果存在finally语句,不论try块中是否发生了异常,是否执行过catch 语句,是否包含有break、continue、return或者throw语句,都 必须执行finally块中所包含的语句。
    此外,try-catch-finally可以嵌套。




throw 和 throws

语句抛出的异常:借助throw语句定义何种情况是产生了此种异常对应的错误。

声明抛出异常是在一个方法声明中的throws子句中指明的。


throws关键字

throws子句中同时可以指明多个异常之间由逗号隔开

在程序中生成异常类对象并抛出:
     异常的抛出是通过 throw语句来实现的。首先要生成异常对象,异常或者由虚拟机生成,或者由某些类的实例生成,也可以在程序中生成。
   在方法中, 抛出异常对象是通过throw语句实现的。


例如:  
      IOException e=new IOException();  
 throw e ;
又如:
public void set(int age) throws Exception {
    if (age>0 && age<100)
        this.age = age;
    else
        throw new Exception("IllegalAgeData");      
}


    [修饰符] 返回类型 方法名(参数表) throws 异常类名表
    {
        …
        throw  异常对象;
        …
    }

一般这种抛出异常的语句被定义为在满足一定条件时执行,例如把throw语句放在if语句的if分支中,只有当条件得到满足,即用户定义的逻辑错误发生时才执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值