• Java中的异常以及异常处理


    什么是异常?

    异常是程序在“编译”或者“运行”的过程中可能出现的问题。

    异常分类

    Error:系统级别问题、JVM退出等,代码无法控制。

    Exception:称为异常类,它表示程序本身可以处理的问题。

    异常分为:编译期异常和运行期异常

     异常的特点

    编译期异常的特点

    编译时异常:继承自Exception的异常或者其子类

    编译阶段报错,必须处理,否则代码不通过。

    运行期异常的特点

    运行时异常:直接继承自RuntimeException的异常或者其子类

    编译阶段不报错,运行可能报错。

    异常处理

    编译期异常处理

    编译期异常的处理形式有三种:

    1、出现异常直接抛出去给调用者,调用者也继续抛出去。

    2、出现异常自己捕获处理,不麻烦别人。

    3、前两者结合,出现异常直接抛出去给调用者,调用者捕获处理。

    异常处理方式1 —— throws

    throws:用在方法上,可以将方法内部出现的异常抛出去给本方法的调用者处理

    这种处理方式并不好,发生异常的方法自己不处理异常,如果异常最终抛出去给虚拟机将引起程序死亡。

    抛出异常格式:

     规范做法:

     当方法中出现很多个异常时,可以这样写;代表可以抛出一切异常

    异常处理方式2 —— try…catch…

    监视捕获异常,用在方法内部,可以将方法内部出现的异常直接捕获处理

    格式:

    建议格式:

    处理方式3 —— 前两者结合 

     方法直接将异通过throws抛出去给调用者 ,调用者收到异常后直接捕获处理。

    运行期异常处理

    运行时异常编译阶段不会出错,是运行时才可能出错的,所以编译阶段不处理也可以。

    按照规范建议还是处理:建议在最外层调用处集中捕获处理即可

    如下:

  • 相关阅读:
    flink异常
    全面总结 2022 年Java面试知识,掌握这些你也能进大厂
    golang 拉取 bitbucket.org 私有库
    CSS -webkit-scrollbar 搭配flex时,滚动条按钮显示异常问题记录
    现货白银应该遵守哪些规则?
    codeSpecification_second
    通过定时 SQL 提取阿里云API 网关访问日志指标
    Flutter GetX使用详解
    Http长连接 和 短连接 原理
    Spring Cloud之声明式服务调用(Feign)
  • 原文地址:https://blog.csdn.net/qq_49129184/article/details/126216156