首页 > 其他分享 >记录项目中遇见的几个常见异常

记录项目中遇见的几个常见异常

时间:2024-10-20 22:32:30浏览次数:9  
标签:java 记录 sql Caused 常见 SQLException 遇见 mysql com

org.springframework.beans.factory.BeanCreationException && java.lang.IllegalStateException

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource [org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration$EnableWebFluxConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.hmall.common.advice.CommonExceptionAdvice] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@2437c6dc]
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.hmall.common.advice.CommonExceptionAdvice] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@2437c6dc]

原因:

在全局异常处理器类上加上@ConditionalOnClass(DispatcherServlet.class)

目的是为了,只有Web环境的微服务当前配置才会被激活

com.rabbitmq.client.AuthenticationFailureException

Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.

解决:

检查RabbitMQ的用户名和密码和连接配置

java.sql.SQLNonTransientConnectionException

com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://localhost:3306/tlias?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai, errorCode 0, state 08001 java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

原因:

具体原因未知...,可能,SpringBoot运行过程中,mysql服务重新启动了,导致报错

解决:

cmd控制台,开启mysql服务,输入用户名和密码连接mysql,重启SprintBoot项目

  1. 启动mysql服务 net start mysql
  2. 登录mysql mysql -u root -p
  3. 登出mysql exit

com.mysql.cj.jdbc.exceptions.CommunicationsException

com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://localhost:3306/tlias?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai, errorCode 0, state 08S01
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

原因:

SpringBoot运行过程中,mysql服务停止,导致报错

Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

原因:

与 MySQL 服务器的通信出现了问题

org.apache.ibatis.exceptions.TooManyResultsException

Caused by: org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2

原因:

你调用了一个应该返回单个结果的方法(如selectOne()),但查询结果有多于一个的记录。这通常是因为你的查询条件匹配到了多条记录,而你的代码却期望只返回一条记录

com.mysql.cj.jdbc.exceptions.MysqlDataTruncation

Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'name' at row 1

原因:

向MySQL数据库的某个字段插入数据时,如果数据的实际长度超过了该字段定义的最大长度,MySQL就会抛出“Data too long for column”错误

java.sql.SQLIntegrityConstraintViolationException

Caused by: java.sql.SQLIntegrityConstraintViolationException: Column 'name' cannot be null

原因:

提示name字段不能为空,是因为数据库里加了非null约束

java.sql.SQLIntegrityConstraintViolationException

Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '411381200202193234' for key 'student.id_number'

原因:

插入数据时,具有唯一约束条件的列值重复了

java.sql.SQLException

Caused by: java.sql.SQLException: Column count doesn't match value count at row 1

原因:

列和值数量不一致

Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

原因:

数据库连接用户名或密码错误

Caused by: java.sql.SQLException: Before start of result set

原因:

ResultSet 中获取数据之前,未调用next()方法

Caused by: java.sql.SQLException: Column 'id_number' not found.

原因:

获取的字段和列名没有匹配到

java.sql.SQLSyntaxErrorException

Caused by: java.sql.SQLSyntaxErrorException: Unknown database 'db'

原因:

找不到db数据库

Caused by: java.sql.SQLSyntaxErrorException: Table 'test84.user' doesn't exist

原因:

名为 test84 的数据库中不存在名为 user 的表。

Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'clazz_id' in 'field list'

原因:

SQL 查询中使用clazz_id作为列,但在数据库中没有找到对应的clazz_id列名

标签:java,记录,sql,Caused,常见,SQLException,遇见,mysql,com
From: https://www.cnblogs.com/yqiang/p/18488073

相关文章

  • java常见异常及解决方法
    1.ArithmeticException算术异常是因为在Java中尝试执行除以零的操作导致的,Java不允许整数类型的变量进行除以零的操作,因为数学上这是没有定义的。当程序试图执行这样的操作时,JVM将抛出一个ArithmeticException异常。解决方法:1.通过if条件检查除数if(divisor!=0){......
  • java常见异常
    java常见异常1.NullPointerException(空指针异常)在发现空指针或易产生的地方进行非空判断用Optional类来处理判空2.ArrayIndexOutOfBoundsException(数组越界异常)在访问数组元素前,确保索引值在有效范围内。使用循环时,仔细检查边界条件3.ClassCastException(类型转......
  • 常见异常及解决方法
    一、NullPointerException空指针异常,常见于:入参。从客户端传来的参数,在未进行校验的情况下传入方法当中,其本身为null或其为对象时某些属性为null,进入方法后参与了方法的运行,导致程序出错。Sql语句返回值。从sql语句中返回的值,有null的可能性,当作参数传入方法时容易造成空指针......
  • java中10个常见的异常及其解决方案
    NullPointerException:空指针异常原因:尝试访问一个空对象的成员或方法。解决方案:确保在使用对象之前它们已经被正确初始化了。可以使用Objects.requireNonNull()来检查关键对象是否为空。ArrayIndexOutOfBoundsException:数组下标越界异常原因:试图访问数组的一个不存在的索......
  • Java常见异常,出现原因和解决方法
    java.lang.ArithmeticException算术运算异常,例如除数为0,所以引发了算数异常Java.lang.StringIndexOutOfBoundsException:这是截取字符串substring()产生的下标越界异常。原因是可能是字符串为空,或长度不足1Java.lang.NullPointerException空指针异常出现该异常的原因在于某......
  • Java常见的10个异常
    1.NullPointerException空指针异常,当操作一个null对象的方法或属性时会抛出这个异常。是一个很头疼的异常,因为它是运行时异常,不需要手动捕获,但运行时碰到这个异常会中断程序。2.OutOfMemoryError内存溢出异常,这不是程序能控制的,当需要分配的对象的内存超出了当前最大的堆内......
  • java中常见的异常以及解决方法
    Java的异常体系是基于类java.lang.Throwable的。它有两个重要的子类:java.lang.Exception和java.lang.Error下图是java异常体系的基本结构:1、Throwable所有异常和错误的超类。有两个主要的子类:Exception和Error。2、Error>表示JVM无法处理的错误情况,通常是致命的,比如Ou......
  • 常见的运行时异常
    NullPointerException:当尝试访问一个空对象的成员或方法时抛出。解决方法:1、使用Objects.requireNonNull方法来提前抛出异常。2、使用Java8的Optional类来避免null值。3、在访问对象之前检查是否为null。ArrayIndexOutOfBoundsException:当试图访问数组中的一个不存在......
  • java 常见异常,及解决方案
    异常体系图常见异常:1、NullPointerException空指针异常:访问一个空对象的属性或者方法时会出现解决:提前进行判空处理2、IOExceptionIO流异常:IO,即:input,output,在读写磁盘文件、网络内容的时候经常会生的一种异常解决:捕获IOException并处理或重新抛出3、ClassNotFoundExc......
  • openwifi编译步骤记录
    这边还是简单记一下步骤1、首先是下载openwifi-hwgitclone--recursivehttps://github.com/open-sdr/openwifi-hw2、配置vivado环境变量source/tools/Xilinx/Vivado/2021.1/settings64.sh3、在.bashrc里面配置加一些变量exportXILINX_DIR=/tools/XilinxexportBOARD_NA......