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、请求400异常

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://wolzq.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章