首页新闻找找看学习计划

关于class = Class.forName("com.test_Reflect.XXX");

0
[已解决问题] 解决于 2017-05-04 10:45

这句话编译器会提示ClassNotFoundException,我知道只需要在外围加上try catch即可,我想问的是 既然这么写有错误,为什么网上那么多例子都是直接这样写的?

OSManager的主页 OSManager | 初学一级 | 园豆:7
提问于:2017-05-04 08:57
< >
分享
最佳答案
0

try catch 只是为了如果异常就把错误抛出来,你看到的没 try catch 的应该都有 throws Exception 吧?

public static void main (String[] args) throws Exception {
    //...
}

两者使用都是为了处理异常抛出的

try{
    //...
}catch (Exception e) {
    //...
}
奖励园豆:5
名字不好起啊 | 菜鸟二级 |园豆:397 | 2017-05-04 10:34
其他回答(2)
0

你要加载这个class,但你不确定是否有这个玩意只能这样去探测了。

Daniel Cai | 园豆:10374 (专家六级) | 2017-05-04 09:14

w哦知道你说的意思 我现在的疑问是为什么网上有那么多例子,都是直接用,根本不加try catch,难道是jdk版本不同吗?早期的jdk是不是支持这种写法?

支持(0) 反对(0) OSManager | 园豆:7 (初学一级) | 2017-05-04 09:23
0

java.lang.Object

java.lang.Throwable

java.lang.Exception

java.lang.ClassNotFoundException

 

ClassNotFoundException不是RuntimeException的子类,所以必须被 捕获( try{}catch(){} ) 或 抛出( throws )。

yuhuizhao | 园豆:206 (菜鸟二级) | 2017-05-04 18:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册