Java中异常处理机制的简单原理和应用

(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抛出自定义异常

点击此处
隐藏目录