JAVA中常见异常小结

Posted 月魄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中常见异常小结的主要内容,如果未能解决你的问题,请参考以下文章

Laravel中常见的错误与解决方法小结

MySQL 异常:这一篇就够了,MySQL 抛出异常的几种常见解决方式小结

Hibernate注解常见错误

异常点检测算法小结

异常点检测算法小结

面试贴:java异常小结