Exception(异常)

异常体系:Throwable()是所有异常类的父类,有Error和Exception两个子类。其中Error异常主要是JVM底层异常,在应用程序层面不能解决,而Exceotion则是在编写代码时所出现的异常。此处主要讨论的是Exception类型的异常。

Exception下又可以分为非检查性异常(直接继承RuntimeException的异常是非检查性异常)和检查性异常(直接继承Exception的类【除RuntimeException外】则是检查性异常)。

非检查性的异常在调用时可以不用进行声明,检查性异常在调用时需要在方法名后必须进行声明或者在方法里面进行异常捕捉。声明异常时用throws关键字来声明(与方法名同列),抛出异常时用throw来声明(用于方法内部)。

异常有关的关键字有:throws 、throw 、try 、catch 、finally

如果一个类中的一个方法出现异常,则在运行时,遇到有异常的方法时,如果没有进行捕捉,异常后面的代码就不会得到实现,遇到异常类似于在程序中加了一个return;有终结程序的的效果(功能相似,但本质不同)。对于调用者而言,如果调用的方法存在异常,且没有捕捉,结果也是在运行到调用异常方法时不会在运行其后面的代码,向上抛出,直到某一调用层成功捕获异常,其程序才会继续运行。如果所有的调用者都没有对异常进行捕捉,那么此异常最终就会抛给JVM,JVM将异常的信息打印在控制台上,终止所有程序。

自定义异常类:如果使一个类变成异常类,那么这个类必须继承异常体系,因为只有成为异常体系的子类,才能具备可抛性,才能被throw和throws修饰。

如果自定义一个异常类,其直接继承的是Exception,那么这个自定义的异常类就是一个检查性的异常,在调用时需要用throws来进行声明,如果直接继承的时RuntimeException,则是非检查性异常,调用时可以声明,也可以不声明。

转载于:https://my.oschina.net/u/3556396/blog/1217793

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值