JAVA中常见异常小结

1、java.lang.ArithmeticException

算术运算异常,例如除数为0,所以引发了算数异常

2、Java.lang.StringIndexOutOfBoundsException: 

这是截取字符串substring()产生的下标越界异常。原因是可能是字符串为空,或长度不足1

3、Java.lang.NullPointerException空指针异常

出现该异常的原因在于某个引用为null,但却调用了它的某个方法,这时就会出现该异常

4、ClassCastException

类型强制转换异常,例如:String str = "a";Integer num =(Integer )str;

5、IllegalArgumentException

传递非法参数异常,此异常表明向方法传递了一个不合法或不正确的参数。你看看传值的方法是否参数不正确

6、NumberFormatException

数字格式异常,例如:String str = "a";Integer.parseInt(str);

7、ClientAbortException: java.io.IOException异常

原因是由于服务器正在处理http请求,正在输出内容时,用户关闭了浏览器,造成了ClientAbortException异常。它属于I/O异常中比较常见的一种。

8、java.lang.classnotfoundexception

  这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,
如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。

9、ClientAbortException  Caused by: java.NET.SocketException: Connection reset by peer: socket write error

这种异常已比较常见,通常有以下几种情况:

服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;客户关掉了浏览器,而服务器还在给客户端发送数据

10、ArrayStoreException

向数组中存放与声明类型不兼容对象异常,例如:Object x[] = new String[3];x[0] = new Integer(0);

11、NegativeArraySizeException

创建一个大小为负数的数组错误异常,例如int[] arr = new int[10];int i = arr[-1];

12、SecurityException

安全异常,例如:Android的权限异常,运行java的程序提示Missing requited Permissions manifest attribute in main jar等

13、EOFException

文件已结束异常

14、FileNotFoundException

文件未找到异常

15、SQLException

操作数据库异常

16、NoSuchMethodException

方法未找到异常

17、java.lang.ArrayIndexOutOfBoundsException

数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。

18、java.lang.IllegalAccessException

违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。

19、java.lang.IllegalMonitorStateException

违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。

20、java.lang.IllegalStateException

违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。

21、java.lang.IllegalThreadStateException

违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。

22、java.lang.InstantiationException

实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。

23、java.lang.InterruptedException

被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。

24、java.lang.NoSuchFieldException

属性不存在异常。当访问某个类的不存在的属性时抛出该异常。

25、java.lang.RuntimeException

运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。

26、java.lang.TypeNotPresentException

类型不存在异常。

27、com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`mydb`.`tb_room`, CONSTRAINT `room_hotel_id` FOREIGN KEY (`room_hotel_id`) REFERENCES `tb_hotel` (`hotel_id`) ON DELETE NO ACTION ON UPDATE NO ACTION)

外部关联未允许级联操作异常,cascade="all",可以允许级联操作。

28、org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'studentService' defined in file 

原因:StudentService未标注@component找不到对象或@service@controller@repository

29、org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []

原因一:<session-factory name="">默认设置了name属性为空,去掉该属性。

30、xml.sax.SAXParseException

 一般为头部文件配置语法错误

31、java.io.NotSerializableException

一般为bean没有序列化异常

32、org.apache.ibatis.cache.CacheException:Error Serializing Object

一般为开启mybatis二级缓存<cache>后,javabean对象没有实现序列化导致implements serializable

*重要mybatis+spring 33、org.springframwork.beans.factory.UnsatisfiedDependencyException

此异常出现原因主要有两点:

一、没有完成sqlSessionFactory注入,在1.2版本以后取消了spring自动注入,需要重写源码SqlSessionDaoSupport中的setSqlSessionFactory方法,

并且在重写后的方法上添加spring注解@Resource或者@Autowired.

二、若还是没有解决以上问题,则检查spring-servlet.xml配置中<property name="mapperResources" 后的value值内容,映射的bean .xml是否配置正确,若有通配符,最好取消测试下。

33、org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilter' defined in class path resource [spring-shiro-web.xml]: Cannot resolve reference to bean 'securityManager' while setting bean property 'securityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityManager' defined in class path resource [spring-shiro-web.xml]: Cannot resolve reference to bean 'myRealm' while setting bean property 'realm'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myRealm': Unsatisfied dependency expressed through method 'setClerkDAO' parameter 0;

此异常一般为需要注入的对象所在的类未交给sping管理,添加对应的注解,或者检查扫描的包是否包含当前类

34、

HTTP Status 400 -

type Status report

message

description The request sent by the client was syntactically incorrect.
一般为输入的字段与javabean字段类型不符合,不能直接封装成javabean对象,仔细检查字段类型

35、上传文件异常?

HTTP Status 500 - Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Current request is not a multipart request

首先检查提交的FORM有没有加enctype="multipart/form-data"
其次检查form中提交方式是否为Method="post",一定要为post解析字节码,流传输

 

原文地址:https://www.cnblogs.com/lq147760524/p/6926175.html