Java异常体系-Throwable、Error、Exception

Java程序员必备:深入剖析Java异常体系的核心架构 在Java中,所有的错误和异常都继承自Throwable类。它是Java中所有异常的根类。1.1 Throwable类的两大派生子类Throwable主要分为两大类:Error和Exception。Error:表示系统内部的错误,通常指Java虚拟机(JVM)内部的问题或资源的耗尽,比如内存溢出(OutOfMemoryError)等。Exception:表示程序运行中出现的异常情况。接下来,我们会对这两个类进行详细解释。 阅读详情

1. 异常体系

   Throwable 类是java语言中所有Error类与Exception类的超类(superclass)。除RuntimeException类和Error类及它们的子类之外,Throwable类及其子类称为检查异常(checked exception)。

   RuntimeException类和Error类及它们的子类,被称为非检查异常(unchecked exception)。当JVM产生并抛出Error异常时,指示系统出现了严重的问题,而一个合理的应用程序都不应该捕获该异常,应该不catch,或者catch后抛出。

  Java异常体系继承图如下,

2.异常示例

2.1 非检查异常(运行时异常)NullpointException

    @Test
    void nullPointExceptionTest(){
        Staff staff = null;
        staff.getAge();
    }

执行结果


java.lang.NullPointerException
    at ...


2.2 可检查异常 ClassNotFoundException

    @Test
    void classNotFoundException(){
        try {
            Annotation[] hellos = Class.forName("Hello").getAnnotations();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

执行结果


java.lang.ClassNotFoundException: hello
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:340)
    at ...


2.3 非检查异常(Error子类)StackOverflowError

    int stackDeep = 0;
    @Test
    void stackOverflowErrorTest(){
        getName("hello");
    }

    private String getName(String name){
        stackDeep++;
        System.out.println("Stack Deep: "+stackDeep);
        return getName(name);
    }

执行结果


Stack Deep: 5287
java.lang.StackOverflowError
    at java.base/java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:585)
    at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:301)
    at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:290)
    at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:131)
    at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:208)
    at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
    at java.base/java.io.PrintStream.writeln(PrintStream.java:722)
    at java.base/java.io.PrintStream.println(PrintStream.java:1028)
    at ...


 

 

YOLOv11 改进 - 注意力机制 | 空间增强注意力SEAM(Spatially Enhanced Attention Module)提升遮挡场景检测鲁棒性 本文介绍了分离与增强注意力模块(SEAM)在YOLOv11中的结合应用。SEAM模块旨在增强面部特征学习能力,特别是处理面部遮挡问题。它采用多头注意力机制强调面部区域、抑制背景区域,第一部分使用深度可分离卷积减少参数并学习通道重要性,通过1x1卷积增强通道联系,利用两层全连接网络融合通道信息,经指数归一化后作为注意力权重与原始特征相乘。我们将SEAM集成到YOLOv11的检测头中,并进行相关注册和配置。实验表明,该方法有助于提升模型检测性能。 阅读详情

相关推荐

5nm制程的CV5芯片实测:用它给无人机做8K拍摄和实时避障,功耗和性能到底怎么样?

本文深度评测了5nm制程的CV5芯片在无人机8K拍摄和实时避障中的表现。通过实测数据展示了CV5的异构计算架构、8K视频编码性能和CVflow®AI引擎的加速效果,同时提供了开发中的优化技巧和散热建议,为无人机开发者提供了实用的参考。

weixin_30861797的博客 358

Throwable异常及解决方法

Throwable Throwable有两个直接子类Error和Exception,其中Error代表程序产生的错误,Exception代表程序产生的异常。 常见的错误: 1、VirtualMachineError 虚拟机运行错误 2、outofMemoryError 虚内存溢出错误 3、NoclassDefFoundError 类定义错误 异常: 一、编译器异常: 1、IOException输入输出异常 2、SQLException数据库异常 3、classNotFoundExceptio

cly_32的博客 3015

零中频接收机实战:DC Offset的5种常见解决方案与调试技巧

本文针对零中频接收机中DC Offset这一核心挑战,深入剖析了其产生机理与对信号解调的严重影响。文章从实战角度出发,系统性地介绍了五种解决方案,包括硬件预防、数字域校正、I/Q不平衡联合校正等,并分享了关键的实验室调试与产线测试技巧,旨在帮助射频工程师有效提升接收机性能。

weixin_29234509的博客 399

Throwable中Exception/Error异常的分类及处理

package Day18;/* *@author wanghongyuan *@Create 2020/12/27 15:20 */ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* java.lang.Throwable:类是 java 语言中所有错误或者异常的超类。 Exception:编译期异常,进行编译(写代码)java程序中

小王的博客 821

Understanding Lockup Cells

工具会分析扫描链和EDT逻辑之间的控制时序元素的时钟的时序关系,当必须要同步时钟并保持数据完整性时插入边沿触发寄存器(lockup cells)。可以使用report_edt_lockup_cells命令来展示工具已经插入的lockup cells的详细报告。

weixin_44954910的博客 1080

5分钟搞懂MSDNet:用Transformer实现小样本语义分割的保姆级教程

本文详细介绍了MSDNet(Multi-Scale Decoder Network)如何利用Transformer架构实现小样本语义分割。通过多尺度解码器和空间Transformer解码器,MSDNet能够在仅有1-5张标注图像的情况下完成精确分割任务。文章提供了PyTorch代码实例和优化技巧,帮助开发者快速掌握这一前沿技术。

weixin_30832143的博客 506

Throwable异常和处理异常的方案(try……catch……finally;throws)

Throwable异常的概念 java程序出现了不正常的现象,异常主要分为两大类Exception和Error Error表示非常严重的错误,一般情况下我们无法自己处理,那就不处理。 Exception异常有两类,一类是RuntimeException,表示运行时期异常,这样的异常一般是由于代码逻辑不够严谨导致的,可以按照编译时期异常的处理方式去处理,另外一种是非RuntimeException异常,叫做编译时期异常,一定要处理,如果不处理,编译不通过,程序无法运行 处理异常的方式 1.try……

zhongs11的博客 1117

STM32F103用软件I2C读取IP2366电量数据,实测避坑指南(附完整源码)

本文详细介绍了如何使用STM32F103的软件I2C驱动读取IP2366电池管理芯片的电量数据,包括GPIO初始化、I2C时序实现、关键延时优化及常见问题解决方案。通过实测避坑指南和完整源码,帮助开发者快速实现稳定的电量数据读取,适用于嵌入式电池管理系统开发。

weixin_33725722的博客 514

10分钟帮你重新梳理 Java 异常 —— Throwable、Error、Exception

程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。在 Java 中,即 Java 在编译、运行或者运行过程中出现的错误。异常发生时,是任程序自生自灭,立刻退出终止,还是预判性的对其进行捕获处理,显然后者更具保障。异常处理机制能让程序在异常发生时,按照代码预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。

流华追梦的专栏 3694

工业级AI智能体落地:OpenClaw+ONNX Runtime全栈部署,端到端延迟压至12ms

OpenClaw+ONNX的组合为工业AI智能体的落地提供了一套完整、高效、安全的解决方案。它解决了传统云端智能体在工业场景中面临的延迟、安全和稳定性问题,实现了本地数据闭环和毫秒级响应。未来,随着边缘计算和轻量级大模型技术的发展,工业AI智能体将变得更加智能和强大。我们可以预见,在不久的将来,工厂里的每一台设备都将拥有自己的AI智能体,它们能够自主感知、自主决策、自主执行,真正实现工业生产的全自动化和智能化。👉 点击我的头像进入主页,关注专栏第一时间收到更新提醒,有问题评论区交流,看到都会回。

2601_94871597的博客 735

【超详细】计算机组成原理总结及思维导图

计算机组成 第一章 计算机系统概论 冯诺依曼型计算机特点 1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成 2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。 3.指令由操作码和地址码组成 4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变 5.机器以运...

圣三一 10万+

Java异常总结

  Java 异常的概念       Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个异常类来表示,不同类型的异常对应不同的子类异常(目前我们所说的异常包括错误概念),定义异常处理的规范,在JDK1.4版本以后增加了异常链机制,从而便于跟踪异常。        Java异常是一个描述在代码段中发生异常的对象,当发生异常情况时,一个代表该异常的对象被创建...

q_all_is_well的博客 374

YOLOv5算法改进(22)— 更换主干网络MobileNetv3 + 添加CA注意力机制

本节课就让我们结合论文来对YOLOv5进行组合改进(更换主干网络MobileNetv3 + 添加CA注意力机制),小白必学~!🌈

小哥谈 2816

java异常体系_Java异常体系(Throwable、Error、Exception)

Java异常体系java异常体系继承图ThrowableThrowable类是所有异常的父类,常见的子类有两个Error、Exception。ErrorError类就是程序运行时候抛出的最严重级别的错误了,一般是java虚拟机内部的错误,如VirtualMachineError(包括OutOfMemoryError,StackOverflowError等),ThreadDeath等。抛出了Erro...

weixin_42465158的博客 393

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JAVA-从入门到自杀(第八天)2:Throwable异常体系、Error错误及Exception异常

Throwable异常体系 异常体系  Throwable常用方法            toString()                返回当前异常对象的完整类名+病态信息。            getMessage()         返回的是创建Throwable传入的字符串信息。            printStackTrace()    打印异常的栈信息。      ...

方京的博客 309

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

catchlog是什么软件_如何处理异常? catch Exception OR catch Throwable

在Java中,当你需要统一处理异常的时候,你是会选择catch (Exception),还是直接catch (Throwable)?Java的异常体系Throwable: Java中所有异常和错误类的父类。只有这个类的实例(或者子类的实例)可以被虚拟机抛出或者被java的throw关键字抛出。同样,只有其或其子类可以出现在catch子句里面。Error: Throwable的子类,表示严重的问题发...

weixin_40007189的博客 4231

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java catch throwable_如何处理异常? catch Exception OR catch Throwable

在Java中,当你需要统一处理异常的时候,你是会选择catch (Exception),还是直接catch (Throwable)?Java的异常体系Throwable: Java中所有异常和错误类的父类。只有这个类的实例(或者子类的实例)可以被虚拟机抛出或者被java的throw关键字抛出。同样,只有其或其子类可以出现在catch子句里面。Error: Throwable的子类,表示严重的问题发...

weixin_30488835的博客 1449

java异常体系

​ 上述是java异常体系的类图, 主要包含Throwable,Error,Exception, RuntimeException, CheckException几个方面。 1、Throwable类 官方解释: The Throwable class is the superclass of all errors and exceptions in the Java language. Only objects that are instances of this class (or one of i.

SprintMan的博客 587

程序员快速弄清Java异常体系,拒绝痛苦编程,开发效率加倍

知己知彼方能百战不殆,在小编初学Java时候特别怕程序报异常,经常会因为异常不知所措,相信这个问题应该是所有 初学者都会有的心理感受;如果你也有这种感受,那么只有一种解决方法: 迎难而上,攻克Java异常体系,长痛不如短痛,只要清楚了Java的异常体系,就不会再有这种感受了。下面跟着小编来窥探Java的异常体系吧。 一、Java异常体系其实很简单 其实Java的异常体系是非常简单的,简单到只要你看过本文就能明白百分之八九十的样子。当你清楚了Java的异常体系 那么在遇到项目执行异常的时候,基本看报错的异常.

西魏陶渊明的博客 842

Java 中的异常体系

异常

weixin_46508088的博客 660

Java的异常体系Java.lang.Throwable(Error和Exception)

2.try{}catch(Exception e) { e.printStackTrace()},不会引起系统死亡!我们在开发中,可能无法绝对避免异常,所以还要学习如何处理异常,因为一旦异常出现,程序会死亡的!1.编译时异常:没有继承RuntimeException, 继承了Exception的异常。方式二:提前预判,使用if分支排除掉可能出现的异常。3.底层外抛,最外层集中捕获处理,上层可以知道底层的执行情况!研究异常,避免异常,处理异常,是体现程序 的健壮性!认识异常,避免异常的出现。

qq_1424674116的博客 802

Java的异常体系

Java的异常体系基于类继承结构,所有异常类都继承自类。ThrowableError和Exception。

l38622的博客 509

外部组件发生异常_一篇文章让你理清楚Java异常体系

“异常”代表程序运行中遇到了意料之外的事情,为了表征异常,Java标准库中内建了一些通用的异常。今天我们就介绍Java中的异常体系。Java中的异常类均以Throwable为父类,而Throwable又派生出Error类和Exception类这两大子类。Error类及其子类,代表了JVM自身的异常。这一类异常发生时,无法通过程序来修正。最可靠的方式就是尽快地停止JVM的运行。Exception类及...

weixin_39929138的博客 1189

如何处理异常? catch Exception OR catch Throwable

为什么80%的码农都做不了架构师?>>> ...

weixin_34115824的博客 529

JAVA异常体系

RuntimeException是程序运行中的异常,CheckedException是程序编译时候的异常。Erroe是程序无法处理的错误,一旦出现这个错误将导致程序被迫停止运行,比如OutOfMemoryError(内存溢出错误)和StackOverflowError(堆栈溢出错误)等。java的所有异常类都是继承于Throwable类的,Throwable下有Exception和Error类,

weixin_42924400的博客 476
上一篇: @FunctionalInterface注解以及测试示例
下一篇: Java异常捕获(单级、多级)-try、catch、finally以及其执行顺序
小鸡炖蘑菇Plus版
博客等级 码龄10年 10粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值