java软件运行常见错误_java常见运行错误有哪些?

news/2024/7/24 4:28:32 标签: java软件运行常见错误

69ab62bc163b724be5abed5dcb344dfc.png

在Java中,根据错误性质将运行错误分为两大类:错误和异常。

Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类。Throwable类是Object类的直接子类,Error类和Exception类是Throwable类的两个直接子类。

java常见运行错误有哪些?

1、java.lang.NullPointerException

这个异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。

对数组操作中出现空指针,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)。

2、java.lang.ClassNotFoundException

异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可

3、java.lang.ArrayIndexOutOfBoundsException

这个异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看调用的下标是不是超出了数组的范围。

一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。

4、java.lang.NoSuchMethodError

方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。

5、java.lang.IndexOutOfBoundsException

索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。

6、java.lang.NumberFormatException

数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。

7、java.sql.SQLException

Sql语句执行异常

8、java.io.IOException

输入输出异常

9、java.lang.IllegalArgumentException

这个异常的解释 是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数 如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是 出现了错误。

10、java.lang.IllegalAccessException

这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。

11、java.lang.arithmeticexception

这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。


http://www.niftyadmin.cn/n/1514569.html

相关文章

MySql与SqlServer的一些常用用法的差别

MySql与SqlServer的一些常用用法的差别 由于工作的原因:上家公司的数据库全采用MySql,所以不得不用它。因此也学到了MySql的一些知识,但考虑到今后可能没机会使用了,所以想趁现在离职在家休息,打算把这些东西整理一下&…

javascript学习笔记-知识点总结-基础知识 (2)

操作符 一元操作符 只能操作一个值的操作符叫做一元操作符1.递增递减操作符前置型:(--)值先递增(递减),后执行语句后置型:值(--)先使用值执行语句,后递增(递减) 2.一元加和减操作符一元加操作符(),放在数值前,不会产…

javascript学习笔记-知识点总结-基础知识 (3)

语句 if语句 if(condition){alert(1);}else{alert(2);},condition可以是任意表达式&#xff0c;然后自动调用boolean&#xff08;&#xff09;将这个表达式转换成一个布尔值do-while语句 var i 1;do{i;} while (i < 20);循环体内代码至少执行一次&#xff0c;上述代码中&a…

java eml 附件_email – 带有所有附件的Java MimeMessage到eml文件

试试这个 &#xff1a;// Create your attachement fileFile emlFile new File("myFile.eml");emlFile.createNewFile();incomingEmail.getMessage().writeTo(new FileOutputStream(emlFile));MimeBodyPart attachment new MimeBodyPart();DataSource source new …

通过模拟form表单实现post方法批量下载文件

以下是在vue项目中&#xff0c;通过模拟原生form表单实现批量下载 绑定点击事件<el-button click"mulDownload()">批量下载</el-button>在data里定义下载接口地址urlActionMulDownload: window.SITE_CONFIG[baseUrl] /unionFile/downloadZip,给postUrl方…

DTO的理解以及spring遇到的一个问题注解方式对象为空

之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据&#xff0c;为什么不能直接用实体模型呢&#xff0c;有了DTO同时还要维护DTO与Model之间的映射关系&#xff0c;多麻烦。然后看了这篇文章中的讨论部分才恍然大悟。摘两个比较有意义的段落。表现层与应用层之间是…

java switch嵌套_if 里嵌套case(用到switch)

//账户密码登录&#xff0c;成功或者失败&#xff0c;成功进入后循环打印图形&#xff0c;不需要打印再退出package homework1116;//账户密码登录&#xff0c;成功或者失败&#xff0c;成功进入后循环打印图形&#xff0c;不需要打印再退出import java.util.Scanner;public cla…

javascript实现倒计时功能

如图所示&#xff0c;在span标签里通过count显示数据&#xff0c;实现倒计时功能&#xff0c;倒计时结束&#xff0c;span标签隐藏<span v-show"!showButton">{{count}}s</span><el-button click"downTime()">点击倒计时</el-button&…