Java基础一篇过(八)常见异常速查

一、引言

  开发过程中可能会遇到各种各样的异常,这里还是汇总一些比较典型的异常,有些比较直观的异常如空指针这种就不写了,此文可作为异常速查用。

二、异常大军正在来袭~

IllegalArgumentException(方法的参数错误)

  描述:这个异常通常发生在参数不符合要求时,程序主动抛出的场景

  解决:检查调用的方法参数是否按照方法要求来设置

  图示:

 

NoSuchMethodException(方法不存在异常)

  描述:这个异常通常发生在反射场景去调用一个不存在的方法时抛出

  解决:检查调用是否合理,方法权限是否开放。

  图示:

 

IllegalAccessException(访问权限异常)

  描述:这个异常通常发生在反射场景去调用一个没有权限的方法抛出

  解决:检查调用是否合理,或使用反射的setAccessible(true)进行暴力访问。

  图示:

ArithmeticException(数学运算异常)

  描述:这个异常通常发生在除法除数为0的情况

  解决:检查调用的运算值,先做是否为0的校验。

  图示:

 

 ClassCastException(数据类型转换异常)

  描述:这个异常通常发生在继承于同一个父类的子类间相互转换时

  解决:避免父类强制向下转型。

  图示:

NoSuchBeanDefinitionException(为定义容器bean异常)

  描述:这个异常是在使用@Resource或者@Autowired注解注入一个还未在Spring容器中定义的bean时发生

  解决:查看spring的scan目录有没有指向对应的bean目录,并在引入接口的实现类上加入@Service注解或者@Component等注解【根据实现类的分层去选对应的注解】来标识这是一个Spring容器的bean

  图示:

 

Invalid bound statement (not found)(mybatis的数据绑定异常)

  描述:这个异常一般是发生在使用mybatis时,数据或者映射路径不对时会抛出的异常

  解决:

  • 1、可以查看mapper的java文件的方法名和xml文件的id是否一致
  • 2、xml文件的namespace属性是否指向正确的路径【正确路径:指向mapper的java文件】
  • 3、检查mapper.xml方法的parameterType类型与resultType类型是否正确设置PS:resultMap与resultType是不一样的。
  • 4、检查项目的application.yml中配置的mapper文件存放路径是否正确

  图示:

 

原文地址:https://www.cnblogs.com/riches/p/12611485.html