当前位置: 代码迷 >> Java相关 >> Class.forName 失误
  详细解决方案

Class.forName 失误

热度:1151   发布时间:2013-02-25 21:44:12.0
Class.forName 出错
eclipse的环境,写了个关于Class.forName很简单的代码,纠结了很久。下面是代码:
 
Java code
package a;import java.lang.*;class b{    static {        System.out.println("this is b");    }}public class aa {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        Class.forName("b"); //a.b也不行    }}   


错误信息:Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Unhandled exception type ClassNotFoundException



------解决方案--------------------------------------------------------
异常未处理,可以在main()后面加上 throws ClassNotFoundException 或用 try catch 处理。
------解决方案--------------------------------------------------------
代码:Class.forName("a.b")会抛出ClassNotFoundException异常,程序要对其进行捕获,或抛给上一级调用者。

Java code
  public static void main(String[] args) {        // TODO Auto-generated method stub    try    {        Class.forName("a.b"); //a.b也不行      }    catch(ClassNotFoundException e)    {        e.printStackTrace();    }    }
------解决方案--------------------------------------------------------
探讨

谢谢各位,加了try,catch后可以了。
但是这里又产生了一个疑问,为什么加了try之后就可以了呢。

------解决方案--------------------------------------------------------
会抛出异常的方法调用时必须遵守两个原则:要么在调用此方法的方法中声明会抛出某异常,要么使用try/catch来处理异常。

探讨
谢谢各位,加了try,catch后可以了。
但是这里又产生了一个疑问,为什么加了try之后就可以了呢。
  相关解决方案