课后整理总结-知识点总结-异常处理情况
关于JAVA项目中的常用的异常处理情况:
我根据网上查阅的资料,进行了一些总结。
大致可以分为17种
1.空指针异常——java.lang.nullpointerexception
当程序试图在需要对象的地方使用 null 时,抛出该异常。即为如果一个指针是空,但仍被调用就会出现这种情况。
字符串变量,数组或类对象未初始化(即这些值为空)可能会出现这种异常,因此应该检查是否初始化。
2.指定的类不存在——java.lang.ClassNotFoundException
原因可能是确实缺少指定类,也有可能是缺包,导入包即可。如果仍然报错,检查lib中是否导入了jar包。
3.字符串转换为数字异常——java.lang.NumberFormatException
字符串String中出现非数字型字符时,转换为数字类型时不满足格式或超过了类型的范围(比如string转int和string转double)发生异常。因此应该转换之前先对字符串进行检查。
4.数组下标越界异常——java.lang.IndexOutOfBoundsException
若想取的数组元素在数组中并没有定义出来,如定义了一个长度为4的数组a,当你想取a[6]元素时肯定会出错。因此应该注意数组的长度,有时候为了减少空间浪费我们会使用动态数组构建方法,这时在对数组进行操作时建议先用length获取其数组长度,从而规避错误。
5.数学运算异常——java.lang.ArithmeticException
一般是除数为0时会报出该错误,避免除数为0即可。除了除数为0的情况之外,可能还有其他的异常情况。
6.没有访问权限——java.lang.IllegalAccessException
权限问题,在程序访问某方法时注意一下访问权限为共有还是私有,这种错误在使用package时容易发生。
7.方法的参数错误——java.lang.IllegalArgumentException
在调用带有参数的方法时,请注意传递的参数是否正确。
8.数据类型转换异常——java.lang.ClassCastException
在进行强制类型转换时容易发生该错误,在进行转换前先对类型进行判别。
9.文件未找到异常——java.lang.FileNotFoundException
当程序试图打开一个不存在的文件进行读写操作时会报出该错误,通常由FileInputStream,FileOutputStream,RandomAccessFile的构造器声明发出,即使文件存在,但因某个原因无法访问,也会报出该错误。
10.数组存储异常——java.lang.ArrayStoreException
假如在int型数组里存入string类型的变量,就会报错,因此应该在存入对象时查明类型,或者在存入前先进行类型转换。
11.方法不存在异常——java.lang.NoSuchMethodException
程序所要调用的方法不存在。解决方法:不调用或者构造其方法。
12.文件已结束异常——java.lang.EOFException
程序输入过程中遇到文件或流的结尾引发该异常,此异常用于检查是否达到文件或流结尾。
13.实例化异常——java.lang.InstantiationException
类创建新对象时无法通过构造器进行实例化引发的异常。解决方案:构造方法。
14.被中止异常——java.lang.InterruptedException
通过其他线程的Thread的interrupt方法中止另一个线程时报出的错误。解决方法:一,不做处理,直接抛出;二,捕获异常,再次调用interrupt方法,将中断状态重新设置为true。
15.不支持克隆异常——java.lang.CloneNotSupportedException
如果没有实现Cloneable接口便调用了clone方法,报出该错误;若类不支持Cloneable接口,调用时也会出现该错误。解决方法:实现Cloneable接口。
16.输入输出异常——IOException
该异常为Exception的一个分支,通常发生在文件的数据读写上。
17.错误——java.lang.Error
所有错误的基类,用于标识严重的程序运行问题。通常原因是访问外部资源时出现一系列问题,解决方案也需要围绕访问外部资源这一重点展开。
JAVA异常处理的几项注意原则:
作者:冰稀饭Aurora
出处:https://www.cnblogs.com/rsy-bxf150/p/16801053.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端