专栏首页孙小白Java异常详谈

Java异常详谈

什么是异常:

异常(Exception)是程序运行过程中发生的事件,该事件可以中断程序指令的正常执行流程。

注意:

如果实际抛出的异常对象属于Exception的子类对象,而继承自Throwable类的异常对象和Exception类同级别,则不能被Exception捕获到!

根据多态,父类的引用可以接收子类的对象!

常见异常

异常的处理

方法体内出现异常,对异常处理分为两种:

1.在方法体内使用try-catch语句块,自行解决

2.使用throws声明可能会抛出的异常类,将出现的异常抛给上级调用的方法。

注:如果自身方法体内没有try-catch语句块,并且也没有使用throws声明可能会抛出的异常类,则在编译时就会出现:未报告的异常,必须对其进行捕获或声明

l Exception类的子类,非检查异常RuntimeException类,本身代码有问题,从逻辑上可以检查,JVM自动抛出并捕获,若代码没有问题则不处理。

l Exception类的子类,检查异常,比如IO、SQL异常,若代码没问题也要必须手动添加捕获或处理语句。

声明thorws异常类是将出现的异常对象抛给上级方法,而不是自己处理

throw抛出的是异常对象,而不是异常类,所以必须用

throw new 异常类名();

异常类名通常继承自Exception类

若try抛出的异常对象,没有任何的catch捕获到,则执行完finally后就结束程序,输出异常信息。

throw和throws的区别

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Collection和Collections有什么区别?

    1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体...

    挨踢小子部落阁
  • 聊聊nacos ServiceManager的updateInstance

    本文主要研究一下nacos ServiceManager的updateInstance

    codecraft
  • 聊聊nacos ServiceManager的UpdatedServiceProcessor

    本文主要研究一下nacos ServiceManager的UpdatedServiceProcessor

    codecraft
  • 到底啥是面向对象?啥是封装、继承、多态?

    面向对象呢也有一个高大上的名字叫OOP,是现在最流行的编程思想,正所谓万物皆对象,当然不是那个对象(你懂得)。在日常生活中,一辆挖掘机是对象,一辆...

    JAVAandPython君
  • scala(2):Trait(特征)

    Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。

    yiduwangkai
  • 聊聊nacos ServiceManager的removeInstance

    本文主要研究一下nacos ServiceManager的removeInstance

    codecraft
  • 小白&JAP君|面向对象的三大特征你真的了解了吗?

    面向对象编程是如今最流行的编程思想,像JAVA,Python,C++...都是属于面向对象编程,今天给大家说说面向对象编程的三大特性,深刻理解这三...

    JAVAandPython君
  • Prometheus pushgateway的部署使用

    tar xf pushgateway-0.8.0.linux-amd64.tar.gz -C /usr/local/

    二狗不要跑
  • 看完本文,再也不怕问java线程创建的几种方式了

    使用继承Thread类的方法来创建线程类时候,多个线程之间是无法共享线程类的实例变量的。

    用户4143945
  • 惊鸿一瞥之Kotlin

    看了Google开发者大会之后你啥感觉?一个是flutter真的可以入手啦,另一个就是Kotlin需要看看啦。为啥要看Kotlin呢?因为Google已经帮你想...

    大话swift

扫码关注云+社区

领取腾讯云代金券