2022年2月16日

 


 

1

try {
  a = selectOne;//返回了多条
}catch (MyBatisSystemException e2){
  log.info("exception: {}", e2.getCause().getClass());
  // process the same field name and diff field id bug
if(e2.getCause() instanceof TooManyResultsException){
   //业务操作
  }
}catch (Exception e){
  log.info("{}, {}", e.getClass(), e);
}

getCause()获取引发异常的异常

  instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:

1
boolean result = obj instanceof Class

  其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。

  注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定

posted @ 2022-02-16 14:29  把猫给我  阅读(30)  评论(0)    收藏  举报