9.28

发布时间 2023-12-21 08:39:03作者: /张根源/

JAVA项目中,常见的异常处理情况可以分为:

NullPointerException(空指针异常):在使用空对象或调用空对象的方法时抛出。可以通过判空或使用try-catch块来处理。

ArrayIndexOutOfBoundsException(数组越界异常):当试图访问数组中不存在的索引时抛出。可以通过检查索引范围或使用try-catch块来处理。

NumberFormatException(数值格式异常):当将一个字符串转换为数字时,字符串的格式不符合要求时抛出。可以使用try-catch块在转换之前验证字符串的格式。

IOException(输入输出异常):在读取或写入文件、网络等数据流时发生错误时抛出。可以使用try-catch块来捕获异常并进行处理,如关闭资源和提示错误信息。

ClassNotFoundException(类未找到异常):在尝试加载不存在的类时抛出。可以使用try-catch块来捕获异常并进行处理,如打印错误日志或提示用户重新输入。

 SQLException(数据库操作异常):在执行数据库操作时发生错误时抛出。可以使用try-catch块来捕获异常并进行处理,如回滚事务、关闭连接等。

 FileNotFoundException(文件未找到异常):在尝试打开不存在的文件时抛出。可以使用try-catch块来捕获异常并进行处理,如提示用户重新输入或创建新文件。

RuntimeException(运行时异常):包括诸如ArithmeticException、IndexOutOfBoundsException、IllegalArgumentException等。可以使用try-catch块来捕获异常并进行处理,或者在代码中预防这些异常的发生。

java.lang.ClassNotFoundException(指定的类不存在)出现这个错误的原因之一是缺包,这时只要下载并导入相应的包即可;

当我们已经把包导入的时候,又报了这种错误的情况下,就需要开启自己的编辑器去调整设置了;
在使用tomcat的时候,先检查lib中是否导入了jar。

java.lang.IllegalAccessException(没有访问权限)

这个异常的解释是 “没有访问权限 ”,当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。

对程序中用了Package的情况下要注意这个异常。

java.lang.CloneNotSupportedException(不支持克隆异常)

如果没有实现Cloneable接口便调用了clone方法,报出该错误;若类不支持Cloneable接口,调用时也会出现该错误。

解决方法:实现Cloneable接口。

java.lang.Error(错误)

错误,是所有错误的基类,用于标识严重的程序运行问题,这些问题统常描述一些不应该被应用程序捕获的反常情况

原因:对系统所访问外部资源,未执行关闭操作,导致外部资源的大量浪费,最终导致系统无法正常运行;对系统所访问的外部资源关闭的次数太多,外部系统无法正常处理;系统访问的外部资源出现异常情况。

解决方法:访问外部资源之前,首先检查该资源是否可以进行正常的连接或操作;访问外部资源时,如果进行了连接,一定要关闭操作,并且仅进行一次关闭操作;尽量在同一操作中共享外部资源,以减少该操作对资源的浪费,提高程序的执行效率

java.lang.InterruptedException(被终止异常)

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

解决方法:不做处理,直接抛出;捕获异常,再次调用interrupt方法,将中断状态重新设置为true。

java.lang.InstantiationException(实例化异常)

当试图通过Class的add()方法创建某个类的实例,但程序无法通过该构造器来创建该对象时引发。

Class对象表示一个抽象类,接口,数组类,基本类型 。该Class表示的类没有对应的构造器。

java.lang.NoSuchMethodException(方法不存在异常)

此类异常为调用方法时发现方法不存在,当出现这种异常时,可以之间构建一个方法就行。