首页 > 编程语言 >JAVA项目中常见的异常处理汇总

JAVA项目中常见的异常处理汇总

时间:2022-10-18 14:44:52浏览次数:52  
标签:lang JAVA 错误 方法 常见 汇总 数组 java 异常

在进行JAVA项目开发时,不免会遇到一些比较常见的异常处理情况,下面是我通过在网上查询了一些相关资料进行的各种异常处理情况的总结

1.字符串转化为数字的异常(Java.lang.NumberFromExeption)

这个错误是当字符串中出现非数字型字符时,转化为数字时发生的异常;此外,如果字符串转化为数字时超过了类型的范围(如string转为int和double),也会产生这个错误。解决这个问题的方法就是在转化之前先对字符串进行检查。

2.数学运算异常(java.lang.ArithmeticException)

在进行除法计算时,除数为0时会产生的错误,所以在进行程序设计时应避免除数为0。但这个错误被解读为“出现异常的运算条件”,除了除数为0的情况还可能会有其他的异常情况产生该错误,需要具体问题具体分析。

3.空指针异常(java.lang.nullpointerexception)

发生该情况一般是字符串变量未初始化,数组未初始化,类对象未初始化等。还有一种情况是当该对象为空时你并没有判断是否为空值,这个错误我在之前的web习题上犯过,因此为了避免这种情况,除了检查是否初始化之外,如有必要则要加上判断是否为null的if语句。

5.指定的类不存在(java.lang.ClassNotFoundException)

出现这个错误的原因之一是缺包,这时只要下载并导入相应的包即可;当我们已经把包导入的时候,又报了这种错误的情况下,就需要开启自己的编辑器去调整设置了;在使用tomcat的时候,先检查lib中是否导入了jar。

4.数组下标越界异常(java.lang.IndexOutOfBoundsException)

顾名思义,你想取的数组元素在数组中并没有定义出来,比如定义了一个长度为5的数组a,当你想取a[6]元素时肯定会出错。解决这类问题就是要注意数组的长度,有时候为了减少空间浪费我们会使用动态数组构建方法,这时在对数组进行操作时建议先用length获取其数组长度,从而规避错误。

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

权限问题,在程序访问某方法时注意一下访问权限即可(public/private),这种错误在使用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)

所有错误的基类,用于标识严重的程序运行问题。通常原因是访问外部资源时出现一系列问题,解决方案也需要围绕访问外部资源这一重点展开

 

标签:lang,JAVA,错误,方法,常见,汇总,数组,java,异常
From: https://www.cnblogs.com/yingxq/p/16802503.html

相关文章

  • Java代码审计sql注入
    java_sec_code该项目也可以叫做JavaVulnerabilityCode(Java漏洞代码)。每个漏洞类型代码默认存在安全漏洞(除非本身不存在漏洞),相关修复代码在注释里。具体可查看每个漏......
  • 常见的企业Wiki
    企业Wiki(EnterpriseWiki)指适用于企业或组织内部使用的​​Wiki​​​。与非企业Wiki(如著名的​​MediaWiki​​)最根本的不同点在于,企业Wiki是为企业量身定做的Wiki。通过鼓......
  • JavaScript的日期对象的使用Date
    1<script>2letdate=newDate();//返回的是当前的时间3console.log(date.getFullYear());//获取的当前年份4console.log(date.getMonth()+1);......
  • Java8Stream的flatmap应用(区别map)-优化嵌套for循环条件筛选
    场景Java8新特性-Stream对集合进行操作的常用API:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126070657前面讲Stream的常用api中讲到map的使用......
  • Java基于解释器模式实现定义一种简单的语言功能示例
    本文实例讲述了Java基于解释器模式实现定义一种简单的语言功能。分享给大家供大家参考,具体如下:一模式定义解释器模式:就是给定一个语言的文法表示,并且定义一个解释器,用来......
  • Java类加载机制(classloader)
    什么是classloaderclassloader顾名思义,即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用......
  • 【Java】多线程详解!
    多线程程序程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程进程(process)是程序的一次执行过程,或是正在运行的一个......
  • JavaWeb之MVC开发模式之商品实例CURD详解
    三层MVC开发模式架构使用自己设计的商城实体类创建对应的数据库表和类完成增删改查管理模块。(1)不使用MVC设计模式完成增删改查管理功能。(2)使用MVC设计模式完成增删改查管......
  • Java通过经纬度、IP、城市调用天气接口(YY天气)
    调用接口,首先得去注册一个账号,(它只能获取当天的数据,没有百度API的功能强大)官网参考:http://www.yytianqi.com/api.htmlpackagecom.common.filo;importjava.io.Buffere......
  • TESTSTATICINITALIZEBLOCK.JAVA静态初始化块的执行顺序
        输出结果:100 300 “public int field=100;”将field初始化为100,直接调用InitializeBlockClass()输出的是100;“obj=new InitializeBlockC......