java中的异常结构

  • java 中的所有异常都来自于顶级父类 Throwable,Throwable 有两个子类 Exception 和 Error

    • Error 是 Java 虚拟机无法解决的严重问题,出现时会导致程序终止运行。如: StackOverflowError 和 OOM 。
    • Exception 不会导致程序停止,它又分为RunTimeException(运行时异常)和CheckedException(检查时异常)
      • CheckedException 是在编译过程中发现的异常,编译器要求 Java 程序必须捕获或声明所有编译时异常。
      • RunTimeException 是程序运行过程中出现的异常,只会导致当前线程执行失败。

常见的异常

  • 空指针异常
  • 数组索引越界异常
  • 类型转换异常

异常的抓抛机制

异常的抓取

  • try-catch-finally: 对代码块中出现的异常进行抓取,同时处理异常。
  • thorws + 异常类型: 抓取方法体中出现的异常,但是不处理,而是向上抛出给调用者。

异常的抛出

  • 程序正在执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象并将此对象抛出。一旦抛出对象以后,其后面代码将不再执行。
  • throw 是抛出一个手动创建的异常对象,而 throws 是加在方法上用于处理方法中出现的异常。



    图片原文地址:> https://blog.csdn.net/weixin_45661472/article/details/123616906

java-javaSE-异常机制的更多相关文章

  1. Java的异常机制

    Java的异常机制 (一)异常的概念 异常是指程序在编译或运行时出现的导致程序不能继续编译或运行的状况.. (二)Throwable类 Throwable类继承自Object类,是Java中所有错误或 ...

  2. 关于java中异常机制

    什么是异常:异常就是程序在运行时出现的不正常情况.对于严重的情况Java通过Error类进行描述,一般不用编写代码处理:对于不严重的情况Java通过Exception描述,一般编写针对性代码对其进行处 ...

  3. Java笔记 - 异常机制

    JAVA异常机制是Java提供的用于处理程序在运行期可能出现的异常事件(如数组下标越界.文件不存在等)的一种机制,使程序不会因为 异常的发生 而 阻断或产生不可预见的结果 .而且还可以将逻辑代码与错误 ...

  4. Java之异常机制(1) - 高效处理异常

    Java开发人员做出的有关架构的最重要的决定之一便是如何使用Java异常模型.Java异常处理成为社区中讨论最多的话题之一.一些人认为Java语 言中的已检查异常(Checked Exceptions ...

  5. Java基础——异常机制

    [捕获异常] 硬件的错误.输入错误.物理限制等问题,都可能导致程序运行时的异常出现. 1.异常的分类层次 在java中,异常对象都是由Throwable类继承而来的,主要分为两大类: Error和Ex ...

  6. 异常小结:上一张图搞清楚Java的异常机制

    下面是Java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的. Throwable Throwable是Java异常的顶级类,所有的异常都继承于这个类. Error,Excepti ...

  7. java:异常机制(try,catch,finally,throw,throws,自定义异常)

    * String类中的格式化字符串的方法: * public static String format(String format, Object... args):使用指定的格式字符串和参数返回一个 ...

  8. [Java学习笔记] Java异常机制(也许是全网最独特视角)

    Java 异常机制(也许是全网最独特视角) 一.Java中的"异常"指什么 什么是异常 一句话简单理解:异常是程序运行中的一些异常或者错误. (纯字面意思) Error类 和 Ex ...

  9. Java异常机制

    Java异常分类 异常表明程序运行发生了意外,导致正常流程发生错误,例如数学上的除0,打开一个文件但此文件实际不存在,用户输入非法的参数等.在C语言中我们处理这类事件一般是将其与代码正常的流程放在一起 ...

  10. Java学习 · 初识 异常机制

    异常机制 1.   程序中的异常 a)     b)    面对异常如何解决 i.           由开发者通过if-else来解决 代码臃肿 程序员需要花费很大精力 ii.           ...

随机推荐

  1. Grafana 系列文章(七):Grafana Explore 中的 Tracing

    ️URL: https://grafana.com/docs/grafana/latest/explore/trace-integration/ Description: Tracing in Exp ...

  2. sync/atomic 原子操作使用与解析

    目录 前言 1. 引入 2. sync.atomic 原子操作 2.1 什么是原子操作 2.2 各种 API 的作用 2.2.1 Store 操作 2.2.2 Load 操作 2.2.3 Add 操作 ...

  3. 使用pycharm打开sqlite的问题

    目录 问题:有同学在sqlite数据库文件执行数据库迁移完成前,点开了他,导致sqlite数据库被pycharm当成文本文件打开了,并且不会改了. 其实sqlite文件和电脑中的其他文件(xx.mp4 ...

  4. python 动态导入库

    import sys sys.path.append("d:\\") ll = __import__("ll") if __name__ == '__main_ ...

  5. 聊聊火热的 ChatGPT(我帮大伙问了几个比较关心的问题)

    如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/L9tZy_KWnE1kf0E3HNhJhQ 本文大概 2562 个字,阅读需花 15 分钟 内 ...

  6. ubuntu安装deb时出现Unknown media type in type 'chemical/......

    Unknown media type in type 'chemical/......我找到了文件/usr/share/mime/packages/chemical-mime-data.xml. 在文 ...

  7. Util类 为了代码复用将一些连接数据库的代码

    import java.sql.*;//导入包 public class Util1 { //基本配置 static final String JDBC_DRIVER = "com.mysq ...

  8. chatGPT帮助开发实战解答问题和反思

    问题来自.Net开发群友 问题 我想做一个自动生成单据号的功能,但是在EFCORE里没有行级锁,请有什么等价方案吗? ChatGPT回答 在 EF Core 中确实没有提供行级锁(row-level ...

  9. JZOJ 1075. 【GDKOI2006】新红黑树

    \(\text{Problem}\) A君和B君在玩一种叫做新红黑树的游戏,即在一棵由红枝和黑枝构成的树上轮流砍树枝,每次砍一枝,A君每次只能砍红枝,B君每次只能砍黑枝,当其中某人已经没有树枝砍的时候 ...

  10. 基于C++的OpenGL 06 之摄像机

    1. 引言 本文基于C++语言,描述OpenGL的摄像机 前置知识可参考: 基于C++的OpenGL 05 之坐标系统 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多 ...