java:throw,throws,try和catch

异常有两种Error和Exception
我们一般说的异常指Exception,有两种--检查异常和未检查异常
在程序块中如果需要手动抛出一个"检查"异常用throw,throw是一种控制程序流程的特殊方法而已,没有相应的catch的话,可以中止当前的方法继续执行。
throws是检查方法中的可能抛出的"未检查"异常,在写了throws的方法中可以不用去处理异常(RuntimeException可以不写,它代表的是编程错误:
1.无法预料的错误
2.作为程序员,应该在代码中进行检查的错误(比如数组脚标越界),但是在调用方法中,至少有一级是处理这种异常的。
调用一个会throws exception的方法(在方法定义的时候可以用throws实现)时,需要把这个方法放在try里,然后用catch破获这个exception,做相应的处理。
throws声明方法时候,如果不声明throws的话,那么一般的Exception都要在这个方法中终结,也就是说一定要有相应的catch处理,否则编译时会产生错误。如果方法声明了throws的话,可以交给上一级方法去处理,以此类推。但是有些Exception可以不加捕捉,编译也会通过。继承Exception类,可以自己定义Exception,对于特定的状态,用throw抛出,专用的例外。
try、catch用个形象的比喻,如果说throws相当于职业介绍中介的话,那try和catch就是一对倒霉的打工仔。很有意思,throws只是告诉编译器--方法可能产生的异常问题,然后把问题处理抛给try和catch。 他们一个负责发现异常关系,一个负责异常捕获。很辛苦的一对难兄难弟哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值