日期:2014-05-17  浏览次数:20751 次

在网上无意间看到这关于java开发错误整理的文章,与大家分享下
1、第一个JAVA例程:hello world  
执行时的问题:problems Executing Hello

如果你看到下面的错误提示:
'java' is not recognized as an internal or external command, ...
or
java: Command not found.
那么你或许没有安装java或者在环境变量中并没有设置path路径java\bin目录。请检查你的java安装以及环境变量的正确设置。

如果你看到:
Exception in thread "main" java.lang.NoClassDefFoundError: hello  
(wrong name: Hello) ...
那么你很有可能是因为没有注意大小写或是把名称中的字母打错了。如:
java hello
键入正确的命令重新运行即可。

如果你看到:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello
/class
那么你需要考虑是否去掉名字中的.class部分。  

2、分析出现java.lang.NoClassDefFoundError异常的具体情况

  这个问题在上面调试第一个例程出现过,但是如果我们输入的名称是正确的,仍然提示这样的问题时怎么办呢?
  装了JDK1.4.0版,而且JAVA_HOME,PATH和CLASSPATH都设置好了。如下
JAVA_HOME=/home/jdk
CLASSPATH=$JAVA_HOME/jre/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin

  用JAVAC命令生成了hello.class,当使用java hello时,仍然提示:
Exception in thread "main" java.lang.NoClassDefFoundError:XXX(wrong name:
XXX)

解决提示:
(1)、Add (current directory) to your classpath或类定义前面加public  
(2)、path环境变量中设置的路径中是否有另一个java.exe文件,默认执行的是这个目录下的java.exe,虽然版本与JDK下的java.exe一致,但是在此目录下执行就会出错。
  方法:
  安装了JDK的情况下,应该删除winnt下的java.exe,确保默认调用的java.exe是位于jdk中bin目录下的java.exe。

(3)、假如你使用了packet
那么检查你在编译了没有将指定package包在你文件中的java文件。

3、通常异常捕获处理:
JAVA中几个基本异常简单的描述一下:
ArithmeticException 当出现异常算术条件时产生  
NullPointerException 当应用程序企图使用需要的对象处为空时产生  
ArrayIndexOutOfBoundsException 数组下标越界时产生  
ArrayStoreException 当程序试图存储数组中错误的类型数据时产生  
FileNotFoundException 试图访问的文件不存在时产生  
IOException 由于一般I/O故障而引起的,如读文件故障  
NumberFormatException 当把字符串转换为数值型数据失败时产生  
OutOfMemoryException 内存不足时产生  
SecurityException 当小应用程序(Applet)试图执行由于浏览器的安全设置而不允许的动作时产生  
StackOverflowException 当系统的堆栈空间用完时产生  
StringIndexOutOfBoundsException 当程序试图访问串中不存在的字符位置时产生  

上述出现的异常基本上都是JAVA中我们可能会遇到的异常。

类Throwable有两个直接子类:Error和Exception。Exception类对象是Java程序处理或抛弃的对象。Java 提供了两种Exception 的模式,一种是执行的时候所产生的Exception (Runtime Exception),另外一种则是受控制的Exception (Checked Exception)。所有的Checked Exception 均从java.lang.Exception 继承而来,而Runtime Exception 则继承 jsp页面中文本框的值怎么保存