【Java基础知识 6】Java异常详解

AI摘要

本文详细介绍了Java异常处理,包括Exception和Error的区别、try-catch语法、异常处理原则、即时编译器的影响以及常见异常类型。强调了在工作中如何有效使用trycatch,禁止使用e.printStackTrace(),并探讨了trycatch内的代码量对性能的影响。

目录

一、Java异常简介 

1、Exception和Error

2、NoClassDefFoundError 和 ClassNotFoundException 有什么区别?

二、trycatch语法

1、try语句

2、catch语句

3、finally语句

4、throws语句

5、throw语句

6、抛出异常

7、捕获异常

三、trycatch的执行顺序

四、异常处理原则

五、工作过程中总结的使用try的注意事项

六、禁用e.printStackTrace() 

七、trycatch内代码越少越好吗?

八、即时编译器

九、trycatch小demo

1、代码实例

2、控制台输出

3、思考一个问题

十、常见异常

1、Exception常见的子类

2、RuntimeException常见的子类

3、Error类的常见子类


一、Java异常简介 

大家对trycatch可能并不陌生,也都使用的非常熟练了。

当程序运行过程中发生错误时,就会抛出异常,抛出异常总比终止程序来的好的多。

也可以在已知某个错误要发生时,进行trycatch操作,异常时进行某些特有操作。

1、Exception和Error

Exception和Error都继承于Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出或捕获,它是异常处理机制的基本组成类型。

Exception是可预料的异常情况,可以获取到这种异常,并对其进行业务外的处理。

Error是不可预料的异常,error发生后,会直接导致JVM不可处理。

Exception分为检查性异常、非检查性异常。

检查性异常,必须在编写代码时,使用try catch捕获(比如:IOException异常)。

非检查性异常,编译器不会发现这个地方是否会产生一次,比如空指针异常,这种异常是在代码编写或者使用过程中通过规范可以避免发生的。比如sts的findbugs功能就可以检测到代码的空指针异常。

【Java基础知识 6】Java异常有哪几种 在理想的国度,用户输入数据的格式都是正确的,选择打开的文件也都是存在的,调用的第三方接口也都是网络稳定,程序的代码也是永远都没有bug的。 阅读详情

相关推荐

Python海康摄像头SDK二次开发

摘要:为解决海康威视摄像头RTSP拉流延迟严重的问题,本文提出改用海康私有SDK直接取流的方案。通过下载海康设备网络SDK并调用其Python接口,实现了低延迟的视频流获取。文中详细介绍了SDK配置流程,并提供了优化版的Python代码示例,重点解决回调函数处理、队列缓冲和CPU占用等问题。测试结果表明,该方案显著降低了延迟,同时保持了较高的帧率(30FPS以上)和较低的CPU占用率(约2%)。相较于传统OpenCV+FFmpeg的RTSP方案,海康SDK直接取流在实时性方面具有明显优势。

xiaohouzi112233的博客 2603

Perplexity SPACE沙箱平台:安全AI开发环境实战解析

沙箱技术通过资源隔离和权限控制创建受限执行环境,其核心原理是容器化隔离机制。在AI开发领域,这种技术解决了环境配置复杂性和安全风险等关键问题。SPACE沙箱平台作为AI代码执行环境,提供了标准化的开发沙箱,支持Python生态和主流AI框架。通过实战案例展示,该平台特别适用于情感分析等NLP任务的快速原型验证,帮助开发者在安全隔离的环境中测试AI模型和算法,显著提升开发效率并降低系统风险。

weixin_29029995的博客 273

yolo自动化项目实例解析(九) 导航

比如我们经常使用的导航,说白了就是寻找两点之间最近的路径,也就是所谓的寻路,我们需要想办法让程序知道他要去哪里,路径包含(起点、轨迹、路径)

默子昂 1994

知识图谱本体建模之RDF、RDFS、OWL详解

(一)知识图谱本体建模之RDF、RDFS、OWL详解 1.语义网体系 知识图谱于2012年由Google提出,并不是新概念,而是由语义网络(Semantic Network)衍生而来。语义网络由相互连接的节点和边组成,节点表示概念或者对象,边表示他们之间的关系。RDF,RDFS与OWL都是基于语义网的知识表示框架,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。RDF,RDFS/OWL 属于语义网技术栈,它们的提出,使得语义网克服了语义网络的缺点。其语义网技术栈如下所示。 2.RD

周周的专栏 1万+

AFSim编译一:windows

AFSim在windows上的编译

Meepo的博客 4734

YOLO26涨点改进 | 独家创新,特征融合改进篇 | TGRS 2025 | 引入FFM特征融合模块,实现特征的全局交互与融合,含多种组合创新改进,适合小目标检测、助力YOLO26有效涨点

本文提出了一种改进YOLO26目标检测模型的FFM模块,该模块通过跨模态注意力机制实现全局特征融合,显著提升模型对小目标、密集目标和复杂场景的检测性能。FFM采用多头跨注意力机制建模不同模态间的复杂关系,同时引入可调节下采样率降低计算复杂度。实验表明,在WHU-OPT-SAR等数据集上,FFM模块使mIoU提升0.75%,OA提升0.32%。文章详细介绍了FFM的结构原理、核心代码实现,并提供了两种改进YOLO26的yaml配置文件方案,包括FFM单独使用以及与FCM模块的组合方案。

Ai缝合怪、助力小伙伴高效发论文 189

3.2 直流无刷电机(BLDC):状态空间模型与传递函数

状态空间模型和传递函数是分析BLDC电机动态特性的重要工具。状态空间模型通过微分方程描述系统内部状态与输入输出关系,适用于多变量系统分析;传递函数则在频域表征系统特性,便于控制器设计。本文详细推导了三相坐标系和dq坐标系下的BLDC电机状态空间模型,讨论了线性化方法,并介绍了从状态空间模型到传递函数的转换过程。这些模型为BLDC电机的控制系统设计提供了理论基础。

技术工作者 240

[Dify实战] 做企业内部助手时,最容易被低估的不是提示词,而是权限、状态同步和反馈回写

这篇文章围绕“做企业内部助手时”这个具体问题展开,很多团队做企业内部助手时,最先优化的是提示词,但真正决定系统能不能上线长期跑下去的,往往是权限边界、状态同步和反馈回写闭环。正文会结合Dify拆解节点设计、配置建议和测试样例,补充关键步骤、检查点和常见坑,帮助读者判断第一版该怎么落地,并把经验复用到自己的真实业务场景中。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 68

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 【Java基础知识 8】String、StringBuilder、StringBuffer详解
下一篇: 消息中间件有哪些
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2933原创
评论 84
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值