首页 > 其他分享 >常见异常及解决方法

常见异常及解决方法

时间:2024-10-20 21:13:29浏览次数:7  
标签:异常 常见 Bean 参数 常见于 解决 方法

一、NullPointerException

空指针异常,常见于:

  1. 入参。从客户端传来的参数,在未进行校验的情况下传入方法当中,其本身为null或其为对象时某些属性为null,进入方法后参与了方法的运行,导致程序出错。
  2. Sql语句返回值。从sql语句中返回的值,有null的可能性,当作参数传入方法时容易造成空指针异常。

解决方法:在传参时,第一时间对参数本身和参数的某些不能为空的属性进行校验,从Sql语句中返回的值,也要第一时间进行判空。

二、ArrayIndexOutOfBoundsException

数组下标越界异常,常见于取数组值时,输入的下标超过了数组的长度

解决方法:首先对数组进行判断,非空的情况下再判断下标是否在数组的长度范围内

三、IllegalArgumentException

非法参数异常,常见于传入了类型不一致的参数

解决方法:在传参之前确定方法所需的类型和传入的参数一致,倘若不确定,需及时抛出异常,标明具体非法参数

四、NumberFormatException

数字转换异常,常见于将字符串转换为数字时抛出

解决方法:在转换之前使用NumberUtils.isCreatable()进行判断是否可以转为数字

五、SQLException

SQL语句异常,常见于SQL语句执行时抛出

解决方法:确保sql语句的正确性,传入参数的正确性,使用@Param对传参进行绑定,避免混乱

六、NoSuchBeanDefinitionException

Spring容器找不到指定的Bean异常,常见于启动项目时注入或获取某个Bean,但Bean未找到时抛出

原因可能是:

  1. 忘记加上注解,如@Component、@Service、@Bean、@Controller
  2. Bean所在位置超出Spring组件扫描的范围,Spring扫描范围在主应用类所在包及其子包

解决方法:

  1. @ComponentScan(basePackages = "com.bbb.mycomponent")
  2. 在@SpringBootApplication( scanBasePackages = {"com.aaa.package"} )中添加路径

七、ClassNotFoundException

类未找到异常,类路径中找不到指定的类

解决方法:确保依赖导入正确

八、FileNotFoundException

文件找不到异常,未能找到指定路径的文件

解决方法:确保文件和路径正确及存在

九、NoUniqueBeanDefinitionException

Bean不唯一异常,常见于有多个重名的Bean,在创建时会抛出异常

解决方法:

  1. 在使用Bean时使用@Qualifier指定具体的Bean
  2. 在创建Bean时使用@Bean(name = )来为Bean取别名

十、BindingException

绑定异常,常见于将参数与Java对象绑定时,主要原因有

  1. 请求参数的名称与目标对象的属性名称不匹配
  2. 数据类型不匹配
  3. 缺少必需的请求参数
  4. 对象属性未设置 getter 和 setter 方法

解决方法:

  1. 在Controller层使用@RequestParam进行绑定
  2. 使用@RequestParam、@RequestBody、@PathVariable等合适的方法进行绑定
  3. 在使用@RequestParam等注解时,使用required = true来强制需求
  4. 使用lombok的@Data给对象赋予get和set方法

标签:异常,常见,Bean,参数,常见于,解决,方法
From: https://www.cnblogs.com/superdebu/p/18487891

相关文章

  • 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面试中的常见的问题在java中我见过的比较多的异常粗略列举10个:1首先是java中最常见的异常:NPE(NullPointException)在各种传参和解析的操作都有可能存在。一般的应对的方法就是做参数校验;2其次是另一个出现的比较的多的:ClassCastE......
  • 项目解决方案:大型赛事视频监控接入汇聚管理系统技术实现方案
    目录一.项目背景1.1背景描述1.2需求分析二.设计原则和建设目标2.1设计原则2.2建设目标三.系统设计实现3.1系统方案设计3.2网络拓扑说明四.产品介绍4.1概述4.2设备接入4.2.1内部设备接入4.2.2外部设备接入4.2.3级联上级平台4.3视频资源管理4.4视频观看4.4.1客......
  • 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......
  • 十个常见异常及解决方案
    当使用Java编程时,了解常见的异常及其解决方法是十分重要的。以下是一些常见的Java异常类型以及相应的解决策略:1.NullPointerException(空指针异常)原因:尝试访问一个null对象的成员变量或方法。解决方法:确保对象在使用前已被正确初始化。使用Objects.requireNonNull()检查对......
  • 几种常见的时间日期格式
    目录一:ISO8601标准格式二:美式日期时间格式三:纯数字日期时间格式一:ISO8601标准格式ISO8601标准是一种国际标准的日期和时间表示法,日期通过短横线分割,时间通过冒号分隔。特点:日期格式:YYYY-MM-DD例如:2024-05-30时间格式:HH:MM:SS例如:14:30:00日期和时间......