更新时间:2020-09-29 来源:黑马程序员 浏览量:
(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抛出自定义异常。
猜你喜欢
java访问级别介绍: private,protected,public和default的区别
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19