一、引言

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

二、异常大军正在来袭~

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文件存放路径是否正确

  图示:

Java基础一篇过(八)常见异常速查的更多相关文章

  1. 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !

    本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...

  2. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  3. java基础——入门篇

    整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用 ...

  4. Java基础学习笔记十八 异常处理

    什么是异常?Java代码在运行时期发生的问题就是异常. 在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置.原因等). 异常的继承体系 在 ...

  5. java基础面试题:运行时异常与一般异常有何异同?error和exception有什么区别? 请写出你最常见到的5个runtimeexception?

    Throwable是Java错误处理的父类,有两个子类:Error和Exception. Error:无法预期的严重错误,导致JVM虚拟机无法继续执行,几乎无法恢复捕捉的 Exception:可恢复捕 ...

  6. 【Java基础总结】Java基础语法篇(上)

    Java基础语法 思维导图 一.Java语言介绍 1.Java应用平台 JavaSE(Java Platform Standard Edition):开发普通桌面和商务应用程序,是另外两类的基础 Ja ...

  7. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)

    ---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...

  8. Java基础-JVM篇

    1.1 .线程 ​ 这里所说的线程指程序执行过程中的一个线程实体.JVM 允许一个应用并发执行多个线程.Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系.当线程本地存储. ...

  9. Java基础系列篇:JAVA多线程 并发编程

    一:为什么要用多线程: 我相信所有的东西都是以实际使用价值而去学习的,没有实际价值的学习,学了没用,没用就不会学的好. 多线程也是一样,以前学习java并没有觉得多线程有多了不起,不用多线程我一样可以 ...

随机推荐

  1. 3 Spark 集群安装

    第3章 Spark集群安装 3.1 Spark安装地址 1.官网地址 http://spark.apache.org/ 2.文档查看地址 https://spark.apache.org/docs/2 ...

  2. 详解Python中的__init__和__new__

    转载:https://my.oschina.net/liuyuantao/blog/747164 1.__init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ ...

  3. HTTP基础--请求

    请求,由客户端向服务器端发出,可以分为4部分:请求方法(Request Method),请求的网址(Request URL),请求头(Request Headers),请求体(Request Body ...

  4. 防止用户利用PHP代码DOS造成用光网络带宽

    用PHP代码调用sockets,直接用服务器的网络攻击别的IP,常见代码如下: 代码如下:$packets = 0; $ip = $_GET[\'ip\']; $rand = $_GET[\'port ...

  5. 解决:While reading from '/Users/***/.pip/pip.conf' [line 4]: option 'extra-index-url' in section 'global' already exists

    解决:While reading from '/Users/***/.pip/pip.conf' [line 4]: option 'extra-index-url' in section 'glob ...

  6. asyncio系列之Lock实现

    import types import select import time import socket import functools import collections class Futur ...

  7. MPI小例子

    MPI示例 MPI时间函数测试 #include<stdio.h> #include<mpi.h> #include<stdlib.h> #include<t ...

  8. 【亲测】手把手教你如何破解pycharm(附安装包和破解文件)

    此教程支持最新的2019.3版本的Pycharm,并兼容之前的版本. 一.准备工作: 1.下载Pycharm 有条件的可以自行去官网下载,这里我提供了我下载的版本,已上传到百度网盘,链接在下方. 2. ...

  9. 万字长文,一篇文章带你入门Python

    注释 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供 ...

  10. 微信小程序事件绑定

    一 通过实例来认识 (一) 给出代码 我们直接通过一个实例来引入我们想要讲解的内容: <input type="text" bindinput="handleInp ...