java异常的处理

java异常处理的五个关键字:try、catch、finally、throw、throws

1.throw关键字

作用:可以使用throw关键字在指定的地方中抛出指定的异常

使用格式:throw new xxxException("异常产生的原因");

注意:

1.必须写在方法的内部

2.throw关键字后边new的对象必须是Exception或者Exception的子类对象

3.throw关键字抛出指定的异常对象,我们就必须处理这个异常对象

throw关键字后边创建的是RuntimeException或者是RunException的子类对象,我们可以不处理,默认交给JVM处理(打印异常对象,中断程序)

throw关键字后边创建的是编译异常(写代码的时候报错)我们就必须处理这个异常,要么throws要么try....catch

 

2.声明异常throws关键字

throws关键字:异常处理的第一种方式,交给别人处理

作用:

当方法内部抛出异常对象的时候,那么我们就必须处理这个异常

可以使用throws关键字处理异常对象,会把异常对象声明抛出给方法的调用者处理(自己不处理,交给别人处理)最终交给JVM处理-->中断处理

使用格式:在方法声明时使用

修饰符 返回值类型 方法名(参数列表)throws  AAAException,BBBException  .... {

       throw new AAAException("产生原因");

       throw new BBBException("产生原因");

       .....

}

注意:

1.throws关键字必须写在方法声明处

2.throws关键字后边声明的异常必须是Exception或者是Exception子类

3.方法的内部如果抛出了多个异常处理对象,那么thorows后边必须也声明多个异常,

     如果抛出的多个异常对象有子父类关系,那么直接声明父类异常即可

4.调用了一个声明抛出异常的方法,我们就必须的处理声明的异常

    要么继续使用throws交给方法的调用者处理,最终交给jvm处理,要么try,,,catch 自己处理异常

 

 

3.try...catch

异常处理的第二种方式,自己处理异常

格式: try{

             可能产生异常的代码

}  catch( 定义一个异常变量,用来接收try中抛出的异常对象){

           异常的处理逻辑,产生异常对象怎么处理异常对象

           一般在工作中,会把异常对象信息记录到日志中

}

注意:

1.try中可能会抛出多个异常对象,那么就可以使用多个catch来处理这些异常对象

2.如果try中产生了异常,那么就会执行catch中的异常处理逻辑,执行完毕catch中的处理逻辑,继续执行try...catch之后的代码

如果try中没有产生异常,那么就不会执行catch中异常的处理逻辑,执行完try中的代码,继续执行try后面的代码

 

Throwable类中定义了3个异常处理的方法

1. String getMessage() 返回此throwable的简短描述

2.String toString() 返回此throwable的详细消息字符串

3.void printStackTrace() JVM打印异常对象,默认此方法,打印异常信息最全面

 

4.   finally代码块

格式: try{

             可能产生异常的代码

}  catch( 定义一个异常变量,用来接收try中抛出的异常对象){

           异常的处理逻辑,产生异常对象怎么处理异常对象

           一般在工作中,会把异常对象信息记录到日志中

} finally{

 无论是否出现异常都会执行

}

注意:

1.finally不能单独使用,必须和try一起使用

2.finally一般用于资源释放,无论程序是否出现异常,最后都要资源释放(IO)

 

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张铎(信念)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值