Java中的异常

Java中的checked异常和unchecked异常

​ Java语言规范对这两个定义十分简单,将派生于Error或者RuntimeException的异常称为unchecked异常,所有其他的异常成为checked异常

  • unchecked异常:表示错误,程序的逻辑错误。不需要在代码中显式地捕获unchecked异常做处理。是RuntimeException的子类,比如 IllegalArgumentException、NullPointerException、ArrayStoreException、IndexOutOfBoundsException 、ClassCastException
  • checked异常:表示无效,不是程序中可以预测的。必须在代码中显式地处理。比如try-catch块处理。是java.lang.Exception的派生类,比如IOEexception、SQLException、ClassNotFoundException、NoSuchMethodException

Spring事务回滚机制是这样的:当所拦截的方法有指定异常抛出,事务才会自动进行回滚!

默认配置下,事务只会对Error与RuntimeException及其子类这些UNChecked异常,做出回滚。 一般的Exception这些Checked异常不会发生回滚(如果一般Exception想回滚要做出配置)

posted @ 2021-04-23 23:10  i%2  阅读(59)  评论(0)    收藏  举报