黑马程序员技术交流社区

标题: java编译中遇到的异常 [打印本页]

作者: 陈郊    时间: 2012-9-26 07:59
标题: java编译中遇到的异常
在传智学习一周有余,作为一个初学者,遇到编译中常见的问题这是一件好事,因为这是经验的累积。其实任何语言的学习不仅仅只是会用,而且在运用的时候还要能解决一些常见的错误,下面就把我这段时间遇到的一些编译错误稍作总结,供大家参考!
问题1:'java'不是内部或外部命令,也不是可运行程序或批处理文件。

解决方法:设置path环境变量。
问题2:cannot read:  aaa.java
原因:可能是隐藏了已知文件类型的扩展名
问题3:Exception in thread "main" java.lang.UnsupportedClassVersionError: Demo
原因:类文件名写错或者类文件不在当前路径下面或者不在classpath指定的路径下面。
问题4:Exception in thread "main" java.lang.NoSuchMethodError: main
原因:当前类没有main这个方法
问题5:Exception in thread "main" java.lang.NoClassDefFoundError: hello
出现了这样一个问题,它代表的是找不到hello这个class文件
问题6: java.lang.nullpointerexception
  这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
问题7:java.lang.arrayindexoutofboundsexception
  这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。

作者: 陈郊    时间: 2012-9-26 07:59
顶!
顶!!
顶!!!
作者: 李兆宁    时间: 2012-9-26 08:06
支持一下。。
作者: 陈郊    时间: 2012-9-26 08:07
李兆宁 发表于 2012-9-26 08:06
支持一下。。

谢谢!!
作者: cehkongfu    时间: 2012-10-2 10:26
总结得很好,支持一下
作者: xiaosuisky    时间: 2012-12-2 10:58
想你们学习,做一个善于学习总结的java人。
作者: 李奇    时间: 2013-1-3 20:26
呵呵LZ是个细心的人啊 我再给你补充点吧
ArithmeticException      算数错误形式,比如零作除数
ArrayIndexOutOfBoundsException    数组下标越界,这个在我们数组练习的时候经常出现
NullPointerException    尝试访问空对象成员,我们常说的空指向
ClassNotFoundException    不能加载所需的类
IllegalArgumentException   方法接受到非法参数
ClassCastException    对象强制类型转换出错
NumberFormatException  数字格式转换异常,比如把“abc”转成数字。
学习java的同学可以参考参考以便以后出现异常不知道问题所在。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2