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





Java基础一篇过(八)常见异常速查的更多相关文章
- 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- java基础——入门篇
整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用 ...
- Java基础学习笔记十八 异常处理
什么是异常?Java代码在运行时期发生的问题就是异常. 在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置.原因等). 异常的继承体系 在 ...
- java基础面试题:运行时异常与一般异常有何异同?error和exception有什么区别? 请写出你最常见到的5个runtimeexception?
Throwable是Java错误处理的父类,有两个子类:Error和Exception. Error:无法预期的严重错误,导致JVM虚拟机无法继续执行,几乎无法恢复捕捉的 Exception:可恢复捕 ...
- 【Java基础总结】Java基础语法篇(上)
Java基础语法 思维导图 一.Java语言介绍 1.Java应用平台 JavaSE(Java Platform Standard Edition):开发普通桌面和商务应用程序,是另外两类的基础 Ja ...
- 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)
---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...
- Java基础-JVM篇
1.1 .线程 这里所说的线程指程序执行过程中的一个线程实体.JVM 允许一个应用并发执行多个线程.Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系.当线程本地存储. ...
- Java基础系列篇:JAVA多线程 并发编程
一:为什么要用多线程: 我相信所有的东西都是以实际使用价值而去学习的,没有实际价值的学习,学了没用,没用就不会学的好. 多线程也是一样,以前学习java并没有觉得多线程有多了不起,不用多线程我一样可以 ...
随机推荐
- 3 Spark 集群安装
第3章 Spark集群安装 3.1 Spark安装地址 1.官网地址 http://spark.apache.org/ 2.文档查看地址 https://spark.apache.org/docs/2 ...
- 详解Python中的__init__和__new__
转载:https://my.oschina.net/liuyuantao/blog/747164 1.__init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ ...
- HTTP基础--请求
请求,由客户端向服务器端发出,可以分为4部分:请求方法(Request Method),请求的网址(Request URL),请求头(Request Headers),请求体(Request Body ...
- 防止用户利用PHP代码DOS造成用光网络带宽
用PHP代码调用sockets,直接用服务器的网络攻击别的IP,常见代码如下: 代码如下:$packets = 0; $ip = $_GET[\'ip\']; $rand = $_GET[\'port ...
- 解决: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 ...
- asyncio系列之Lock实现
import types import select import time import socket import functools import collections class Futur ...
- MPI小例子
MPI示例 MPI时间函数测试 #include<stdio.h> #include<mpi.h> #include<stdlib.h> #include<t ...
- 【亲测】手把手教你如何破解pycharm(附安装包和破解文件)
此教程支持最新的2019.3版本的Pycharm,并兼容之前的版本. 一.准备工作: 1.下载Pycharm 有条件的可以自行去官网下载,这里我提供了我下载的版本,已上传到百度网盘,链接在下方. 2. ...
- 万字长文,一篇文章带你入门Python
注释 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供 ...
- 微信小程序事件绑定
一 通过实例来认识 (一) 给出代码 我们直接通过一个实例来引入我们想要讲解的内容: <input type="text" bindinput="handleInp ...