zoukankan      html  css  js  c++  java
  • 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文件存放路径是否正确

      图示:

     

  • 相关阅读:
    dotweb框架之旅 [三]
    dotweb框架之旅 [二]
    dotweb框架之旅 [一]
    对 dotweb 框架进行统一的自定义错误处理
    go服务端----使用dotweb框架搭建简易服务
    Nginx日志文件切割
    linux安装PHP-memcache-redis扩展
    图与最短路径
    素数(质数)的一个用法
    一个手机号码剔重的问题
  • 原文地址:https://www.cnblogs.com/riches/p/12611485.html
Copyright © 2011-2022 走看看