Java课题笔记~ 关于错误与异常

Ø 非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求程序员必须处理这些异常。在运行阶段,倘若发生Error则虚拟机几乎崩溃,倘若发生RuntimeException若程序员没处理它则一直回溯向上抛给java虚拟机处理。当然,如果程序员愿意的话,也可以编写代码处理(使用try...catch...finally)这样的异常(但是通常情况下不会这样做。需要这样做的情况是比如搞数学运算的这个专业领域要处理ArithmeticException)。对于这些异常,我们应该修正代码,而不是去通过异常处理器处理。这种异常发生的原因多半是代码写的有问题。如除0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界ArrayIndexOutOfBoundsException,使用了空对象NullPointerException等等。

Ø 检查异常(checked exception):除了Error和 RuntimeException的其它异常。javac强制要求程序员为这样的异常做预备处理工作(使用try...catch...finally或者throws)。在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。因为程序可能被运行在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,于是程序员就应该为这样的异常时刻准备着。如SQLException , IOException,ClassNotFoundException 等。
Q&A:为什么添加事务管理器?

答:因为不同的技术管理事务的类不同,比如:

JDBC:Connecton con.commit(); con.rollback();

MyBatis:SqlSession sqlSession.commit(); sqlSession.rollback();

Hibernate:Session session.commit(); session.rollback();

事务管理器用来生成相应技术的连接对象及执行语句。

相关推荐
一木 之林1 分钟前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
吴声子夜歌3 分钟前
Java——类、对象及方法(一)
java·开发语言
程序员夏洛11 分钟前
Redis 的持久化机制有哪些?
java·数据库·redis
阿里嘎多学长12 分钟前
2026-08-29 GitHub 热点项目精选
开发语言·程序员·github·代码托管
凯尔萨厮17 分钟前
Java学习笔记十(注解)
java·笔记·学习
এ慕ོ冬℘゜32 分钟前
JavaScript学习心得:从只会语法,到真正会写业务逻辑
开发语言·javascript·ecmascript
钱栈up33 分钟前
VSCode 调试多模块 Maven + Spring Boot 后端:从启动失败到一次跑通
java·spring boot·maven
uoKent34 分钟前
c++中new和malloc的区别
java·jvm·c++
2601_9669496537 分钟前
五档盘口数据对量化交易有什么价值?从信号判断到策略风险的完整分析
开发语言·人工智能·python·数据分析·量化·股票数据·quantdash
十五喵源码网44 分钟前
基于springboot2+vue2的疾病防控综合系统
java·毕业设计·springboot·论文笔记