更新时间:2021年03月18日11时27分 来源:传智播客JavaEE学院
(1)问题分析:
考官是对异常的考核。异常的分类,非检查异常和检查异常,try chtch finally的使用。
(2)核心答案讲解:
所有异常的根类为Java.lang.Throwable.Throwable派生了2个子类:Error和Exception。
Error代表了JVM本身的错误,不能被程序员通过代码处理,如内存溢出。
Exception 分为IoException和RuntimeException 。
Error 和 RuntimeException 以及他们的子类。Javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常称之为非检查异常,比如下标越界。编译器强制必须try.catch处理或throws声明继续抛给上层调用方法处理的异常称之为检查异常,比如使用jdbc连接数据库的SQLException。try块中放可能发生异常的代码。每一个catch块用于捕获并处理一个特定的异常,或者这异常类型的子类,顺序为从小到大。finally无论异常是否发生,异常是否匹配被处理,finally都会执行。
(3)问题扩展:
Spring 框架的事务默认是RuntimeException才进行回滚,修改Transactional注解中的rollbackFor属性可以指定为exception异常回滚。
(4)结合项目中使用:
编写自定义异常,利用throw抛出自定义异常
猜你喜欢: