Java异常体系
Java异常体系
文森特梵高 发表于2年前
Java异常体系
  • 发表于 2年前
  • 阅读 411
  • 收藏 8
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

关于Java的异常类层次,在这张图上已经很清晰的显示出来。

Throwable:作为所有异常的祖先,分别有派生出Exception和Error两个子类。

Error:Error的出现表明是JVM作为一个运行环境出现了问题,导致程序抛出Error而崩溃。

Exception:程序运行本身的异常。派生出RuntimeException和IOException两大类。

RuntimeException:运行时异常,包括逻辑上的比如数组越界,空指针,类型转换错误,类找不到等等。与逻辑相关的异常,就应该从逻辑上避免,编译器不检查,也不要求一定处理。

非运行时异常:不处理,编译不通过。比如IOException和SQLException,以及用户自定义的异常。


异常的处理方式无非:

捕获:try...catch...

抛出:给上一层处理。在定义方法的时候抛异常使用throws。而在代码中主动抛异常则使用throw。以后别傻傻分不清,搞错可是要打自己屁股的。


多个异常同时发生,并且异常之间是继承关系,如何运行?

答案是:

Exception作为所有异常的祖先,如果放在其他异常的前面,会编译异常,通过不了语法检查。

否则,Exception放在最后,那么最精确匹配的异常才会执行。


共有 人打赏支持
粉丝 2
博文 24
码字总数 15386
×
文森特梵高
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: