Java之try...catch异常处理

 一、异常处理的格式之try...catch

   1.try(用来检测异常)...catch(用来捕获异常)...finally(释放资源),catch可以有多个,跟哪个匹配上则执行哪个里的语句,3种搭配格式如下:

   /*finally的特点:若程序开始执行try,并且在finally之前JVM并未退出,则finally中的语句一定会执行。

     finally的作用:用户释放资源,在IO流操作和数据库操作中会常用。*/

   ①try   catch

   ②try   catch   finally    

                 

输出结果:           

    

输出结果:

   ③try   finally    

输出结果:

注意:try后面如果跟多个catch想要处理多种异常,那么小的异常放前面,大的异常放后面。根据多态的原理,若将大的异常放前面,则会捕捉到所有的异常,而后面的catch则没有意义。

错误示范,ArithmeticException是可以处理分母为0的异常类,但是因为在之前有一个Exception异常类,根据多态原理,Exception为ArithmeticException的父类,所以Exception就可以先捕捉到返回的异常对象,那么后边的ArithmeticException异常处理类就毫无意义了,所以会自动报错。

 

2.JDK7时,针对处理多个异常时新增一种写法:

    try{

       //执行内容

     }catch(错误异常类型 | 错误异常类型 | 错误异常类型|......     变量){

       //错误处理代码。此法这一个catch可以接收所写的所有类型的错误,但是处理代码都是这一种,所以不建议使用。

     }

3.异常Throwable(Execption的父类)的几个常见方法:

①getMessage():获取异常信息,返回字符串。

②toString():获取异常类名和异常信息,返回字符串。

③printStackTrace():获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。

分别调用,输出如下:

getMessage():

toString():

printStackTrace():

 二、异常处理的格式之throws和throw

throws:相当于声明说方法内部可能会有异常抛出,由该方法的调用者进行处理。用在方法声明后面,跟的是异常类名,其后可以跟多个异常类名,用逗号隔开。

throw  :表示抛出异常,由该方法体内的语句处理。用在方法体内,跟的是异常对象名,并且只能抛出一个异常对象名。

try...catch和throw的区别:try   catch是直接处理异常,处理完后程序继续往下执行;而throw是把异常抛给它的上一级,后面程序就不再执行了。 

觉得有用的小伙伴请点赞、评论或收藏一下多支持支持博主小弟,跪安~~

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值