class CatchAri
{
  public static void main(String[] args)
{
  int a = 0;
  try{int b = 25/a;}catch(ArithmeticException e){System.out.println("0除某数错误: " + e.getMessage());}
  
     try{Thread.sleep(2000);}
  catch(InterruptedException e){System.out.println("延时失败: " + e.toString());}   System.out.println("a的值为: " + a);
}
}就是这个简单的例子,编译通过了,但是运行就提示:Exception in thread"main" java.lang.NoClassDeffoundError:CatchAri/java.......我初学,不太懂.不知道谁可以帮我解释下呢..先谢谢了~!!

解决方案 »

  1.   

    你用命令行编译,没啥问题呀。
    javac CatchAri.java
    java CatchAri
      

  2.   

    我这里可以运行的,程序是没有错误.看你的class文件在哪里.可能没有找到.
      

  3.   

    我是用命令行的.
    javac 是通过了.但是java就是不行..
    执行java CatchAri后就报告:
    Exception in thread "main" java.lang.NoClassDefFoundError: CatchAri/java
    Caused by: java.lang.ClassNotFoundException: CatchAri.java
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    这个是jdk版本的关系难道?
      

  4.   


    问题找到了...我自己傻了....运行的时候打了java CatchAri.java了....
    谢谢大家的指点~