首页 > 其他分享 >对异常处理问题的相关思考及总结

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

时间:2022-10-15 21:35:34浏览次数:73  
标签:总结 知识点 java lang 错误 思考 Java 异常

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

知识点一: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(错误)

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

标签:总结,知识点,java,lang,错误,思考,Java,异常
From: https://www.cnblogs.com/liuzijin/p/16793700.html

相关文章

  • 2022-2023-1 20221419 《计算机基础与程序设计》第7周学习总结
    2022-2023-120221419《计算机基础与程序设计》第7周学习总结作业信息班级:[2022-2023-1-计算机基础与程序设计]https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP......
  • 【Pandas总结】第七节 Pandas 合并数据集_pd.concat()
    将不同的数据源合并在一起是数据处理中最有趣的事情之一,在pandas中进行数据的合并,既可以使用pd.concat进行简单的数据合并,也可以使用pd.merge,pd.join进行复杂的合并;本节......
  • 开学第七周总结
    开学已经第七周了,这周我对我的航空公司案例分析又进行了完善,在之前制作好数据库,表等后,又进行了创建可视化操作,这里我用的是FineBI包括代理商活跃度,代理商利润汇总,飞机场日......
  • 2022-2023-1 20221306 《计算机基础与程序设计》第七周学习总结
    作业信息班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07作业目标:子程序与参数,抽象数据......
  • 周总结
     本周总的编码时长:15个小时(包括上课的时间以及课下自己的学习时间),总体有效代码量有1000行左右。本周重点学习了echart图表的使用以及增加了对js和json的了解,同时实现了......
  • 2022-2023-1 20221418 《计算机基础与程序设计》第七周学习总结
    2022-2023-120221418《计算机基础与程序设计》第七周学习总结作业信息这个作业属于哪个课程(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里(2022-2023......
  • 47th2022/10/15 模拟赛总结34
    这次打得不太好AC了一题,但是T2疏忽了,0的情况忘掉,导致爆0然后后面两题并没有拿分,一大损失后来发现T3是可以拿一定分数的,思考了很多,尤其是DP,但是状态设出来又发现没用,不......
  • 第三周课程总结:静态初始化块的执行顺序
    遵循老师的指引,我运行了以下代码:packagemovehands3_1;classRoot{ static { System.out.println("Root的静态初始化块"); } { System.out.println("Root的普通初始......
  • 2022-2023 20221403《计算机基础与程序设计》第七周学习总结
    学期(如2022-2023-1)学号20221410《计算机基础与程序设计》第七周学习总结作业信息**教材学习内容总结**了解栈和队列的运行方式;明白了列表的链式结构;注意列表不是数......
  • 第三周课总结:类中字段初始化谁说的算
    一个类中字段的初始化方式分为三种——成员设置的初始化值、类的构造函数、初始化块;我们来看下面一段代码:publicclassInitializeBlockClass{ { field=200; } publ......