对异常处理问题的相关思考及总结

我们已经在课堂上学习了相关的“异常处理”的知识,接下来我们就继续探索异常处理吧!其实,也算得上是对“异常处理”的总结吧,快去看,快去看!

知识点一:java.lang.NullPointerException(空指针异常)

我个人认为,这种错误出现在连接数据库编写Javaweb页面时比较常见。
举例来说的话,我们在连接数据库时,有时会因为操作不当,出现空指针现象;
那么,我们就需要去检查一下,是否在web项目里面导入了相关的导包,导包版本是否与数据库相适配,数据库连接代码是否正常,数据库名称或者表名是否正确,数据库是否能够正常打开等;
还有就是,我们在编写javaweb界面时,就需要在路径这里极为注意了,一旦路径无法找到,页面404可就是你这里的常客了奥!

知识点二:java.lang.ClassNotFoundException(指定的类不存在)

这个错误,主要还是属于路径问题和名称问题的啦!就比如,我前两天报的那个Class.forName();的问题,就是属于我的连接数据库的导包没有弄进去,无法识别到注册驱动的代码,从而报错,具体解决情况的话,可以查看这里:https://www.cnblogs.com/liuzijin/p/16786676.html

知识点三:java.lang.NumberFormatException(字符串转换为数字异常)

在Java语言中,总是少不了String类型和int类型之间的相互转换,一般来说,这个转换其实是没有啥问题的,但是吧,当需要转换的字符串里面包含无法识别的字符时,比如*、%、#等,就会报出异常,这时就需要Java里面的异常处理机制去出动啦!

知识点四:java.lang.IndexOutOfBoundsException(数组下标越界异常)

提到数组下标越界,我们在初接触编程语言的时候,大概都报出过这样子的错误吧!在Java里面,我们可能还会调用一些已经事先声明好长度的数组;我们可能写着写着就忘记了数组的定长,出现数据溢出的异常现象;现在大多数选择使用动态数组,直接new一个新的数组出来,这样的操作在很大程度上避免了数组越界的问题。

知识点五:java.lang.IllegalArgumentException(方法的参数错误)

在调用方法时,有时会需要传参,如果传递的参数的个数或则类型与类型里面需要的不相符,也会报错,出现异常

知识点六:java.lang.IllegalAccessException(没有访问权限)

缺少访问类的权限,有时会因为类的设置或者项目的设置,无法访问到其他的类,导致出现“访问异常”的问题

知识点七:java.lang.ArithmeticException(数学运算异常)

就比如,之前提到的0作为除数,因为与现实生活中的运算不符,且不符合逻辑,会抛出异常,出现数学运算异常的错误

知识点八:java.lang.ClassCastException(数据类型转换异常)

Java语言里面,对数据类型是否能够进行转换的要求,我觉得还是挺严格的。
对于某个数据类型只能单向转换到另一个数据类型,但不能反向转换的问题还是很需要注意的!

知识点九:java.lang.FileNotFoundException(文件未找到异常)

在Java里面,我记得流的操作还是挺重要的,当我们将某个文件输入流或者输出流啥的关闭之后,再进行调用的话,是会报出找不到的异常的。但是,不用就关掉还是一个很好的习惯哒!

知识点十:java.lang.ArrayStoreException(数组存储异常)

咳咳,当我们选择将一个与数组类型不相符的数据存储进去时,就会报错啦,异常的力量还是很大的,不要试图违反规定硬塞呦!

知识点十一:java.lang.NoSuchMethodException(方法不存在异常)

其实吧,方法不存在异常跟上面那个文件未找到异常,我觉得还挺像的,都找不到嘛,都孤单嘛;

但是这个异常,有可能是我们不小心将方法名称抄错了,导致找不到的;
当然,流也是有可能是因为名称写错,导致文件未找到的奥!

知识点十二:java.lang.EOFException(文件已结束异常)

当程序在输入过程中遇到文件或者流的结尾时,会引发这个异常。

故而,可以利用这个异常检查是否到达文件或者流的结尾

知识点十三:java.lang.InstantiationException(实例化异常)

当我们有时注意力不太集中,或者精神涣散时,有时会犯这样一个错误:在类没有实例化时,就直接进行调用,这样的操作会直接引发这个异常,注意力集中啊!这样的错误太冤枉啦!

知识点十四:java.lang.InterruptedException(被中止异常)

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

知识点十五:java.lang.CloneNotSupportedException (不支持克隆异常)

当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常

知识点十六:java.lang.OutOfMemoryException (内存不足错误)

当内存空间不足时,会报出这样一个错误,让Java虚拟机随机分配一个对象解决该异常

知识点十七:java.lang.NoClassDefFoundException (未找到类定义错误)

当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误

知识点十八:SecturityException(违背安全原则异常)

可用于指示违反安全规定的异常

知识点十九:SQLException(操作数据库异常)

知识点二十:IOException(输入输出异常)

一般会出现在InputStream和OutputStream,出现在读写数据的操作时,输入输出异常,即为写读异常

知识点二十一:SocketException(通信异常)

一般会发生在两端进行连接时,无法正常连接,一般都是一方退出后,连接并未停止,继续访问引发异常-------再次强调,随用随开真的是一个好习惯奥!

知识点二十二:java.lang.Error(错误)

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

posted @ 2022-10-15 21:16  yesyes1  阅读(45)  评论(0编辑  收藏  举报