首页 > 代码库 > JAVA中常见异常小结
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找不到对象
29、org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []
原因一:<session-factory name="">默认设置了name属性为空,去掉该属性。
JAVA中常见异常小结