Java开发中常见的异常问题

开发 后端
要调试程序,自然需要对程序中的常见的异常有一定的了解,因此在这里我将一些常见的Java程序中的异常列举出来给大家参考

作为一名开发者,Java程序员,很自然必须熟悉对程序的调试方法。而要调试程序,自然需要对程序中的常见的异常有一定的了解,这些日子很多朋友都提出了很多问题,都是关于游戏中的报错,因此在这里我将一些常见的程序中的异常列举出来给大家参考:

1. java.lang.NullPointerException

这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)

2. java.lang.ClassNotFoundException

这个Java异常是很多原本在JB等开发环境中开发的程序员,把JB下的程序包放在WTk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在JB下做的程序包,一般都是默认加上Package的,所以转到WTK下后要注意把Package的路径加上。

3. java.lang.ArithmeticException

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

4. java.lang.ArrayIndexOutOfBoundsException

这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。

5. java.lang.IllegalArgumentException

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

6. java.lang.IllegalAccessException

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

其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的Java程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在API里都可以查阅。

【编辑推荐】

  1. 深入浅出Java多线程程序设计
  2. Ubuntu下Java环境的搭建
  3. Java中有关抽象类的基础学习
  4. 在Google Java App Engine上实现文档存储和搜索
  5. 浅谈如何用Javascript+VML实现流程设计器
责任编辑:王观 来源: 赛迪网
相关推荐

2022-03-11 10:01:47

开发跨域技术

2010-05-12 17:04:20

BlackBerry开

2019-11-28 11:31:26

设计SQL技术

2011-10-11 09:50:44

PhoneGap常见问题

2020-08-13 06:43:41

React前端开发

2020-05-29 09:36:59

越权访问漏洞Web安全

2011-04-08 13:58:52

JavaJSP

2019-03-21 14:18:38

iOS开发优化原因

2012-08-22 10:44:08

软件开发

2017-03-17 14:18:34

JavaScript算法问题详解

2022-08-03 14:52:26

数据治理商业价值货币

2009-12-09 09:28:14

PLINQ

2010-04-06 17:26:26

Windows Pho

2010-08-10 15:09:55

Flex开发

2023-12-25 08:25:42

AndroidHook应用程序

2019-10-11 15:46:29

编程语言JavaJavaScript

2009-07-02 11:06:57

JSP预定义变量

2011-01-21 14:13:10

2009-07-29 17:35:43

异常处理web.config配

2009-11-05 12:45:25

WCF异常
点赞
收藏

51CTO技术栈公众号