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 []
原因一:默认设置了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解析字节码,流传输
上面罗列的这35个异常情况大家在利用java写代码时总会碰见几个问题,尤其是刚入门的同学难免会有这样那样的遗漏和失误,在遇到困难不知道该如何解决的时候不要慌,可以通过观看教学视频来回溯一下感到模糊的知识点,也欢迎在评论区留言或者私信我,我们专业的指导老师会为你提供更好的解决办法哒~
网友评论