Java面向对象-捕获和抛出异常

Java面向对象-捕获和抛出异常


  • 异常处理五个关键字:
  • try:监控区域,检查try语句块里有没有异常,
  • catch:想要捕获的异常类型,当程序出现错误时,catch捕获的异常刚好是这个异常,就会执行catch语句块里的代码,否则跳过
  • finally:处理善后工作,不管程序有没有报异常,该语句块里的代码都会实现
  • throw:一般在方法中实现,主动抛出异常
  • throws:假设方法中,处理不了这个异常。方法上抛出异常

捕获和抛出异常

  • 编译时异常必须要进行处理,两种处理方案: try…c.tch …或者throws,如果采用throws这种方案,将来谁调用谁处理
  • 运行时异常可以不处理,出现问题后,需要我们回来修改代码
  • 一般程序报错后就会终止整个程序,但是当你捕获和抛出异常后,程序就会依旧正常的往后执行

异常处理之try-catch

格式:

try{
	可能出现异常的代码;
}catch(异常类名 变量名){
	异常的处理代码
}

执行流程:
程序从try里面的代码开始执行,出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统
当Java运行行系统接收到异常对象时,会到catch中去找匹配的异常类,找到后进行异常的处理
执行完毕之后,程序还可以继续往下执行

实例
在这里插入图片描述
如图,我们知道0是不能被当做被除数的,所以程序运行时肯定会报异常,那么我们如何捕获和抛出该异常呢?

在这里插入图片描述

我们需要定义一个try、catch来捕获和抛出异常,因为try语句块里的代码出现了异常,它就不会再去走try语句块里的代码了,而catch刚好捕获了这个异常,他就会执行carch语句块里的代码,finally是不管程序有没有异常都会执行,
注:假设要捕获多个异常:从小到大!越高级的异常要写在后面

throw

在这里插入图片描述

异常处理之throws

虽然我们通过try-catch…可以对异常进行处理,但是并不是所有的情况我们都有权限进行异常的处理,它只是抛出异常,如果想让程序继续跑下去,还得使用try-catch进行
在这里插入图片描述如图,我们在method方法上抛出了一个下标越界的异常,并在主方法中运行mehod方法,控制台显示:抛出异常后,程序就没有往下运行了,不然还会打印“结束”
在这里插入图片描述这个例子跟上个例子一样,只不过是抛出异常后又对这个异常try-catch了,这样程序就可以往下走了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值