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 Class
NotFoundException 或用 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来处理异常。