首页 新闻 会员 周边 捐助

JAVA,一个异常抓不住的问题 ?

0
悬赏园豆:10 [待解决问题]

为什么我已经 写了 try catch 代码块,为什么还是会抛出异常 ? 不是应该输出 111111111111111 才对吗 ?
但是我把 Exception 改为 Throwable 后就可以抓住了 , 为什么 ?

春风十里不如你Ni的主页 春风十里不如你Ni | 初学一级 | 园豆:178
提问于:2024-02-05 16:18

在Java中,ClassNotFoundException通常是由Class.forName()方法引起的,用于动态加载类时。ClassNotFoundException属于java.lang包,是Exception的子类,因此理论上,您可以使用try-catch块来捕获它。至于原因我想你可以打断点看一下是否运行到了try里面。望采纳

CallMeEureka 8个月前
< >
分享
所有回答(3)
0

应该是 DruidDataSourceFactory 的实现代码中已经 try...catch 并记录日志

dudu | 园豆:30948 (高人七级) | 2024-02-05 17:23

但是为什么用 Throwable 就能抓住 ?

支持(0) 反对(0) 春风十里不如你Ni | 园豆:178 (初学一级) | 2024-02-06 13:17

@春风十里不如你Ni: Throwable是异常顶级父类,而Exception为子类

支持(0) 反对(0) 果先生 | 园豆:200 (初学一级) | 2024-02-08 16:14
1

打印下 异常的类,System.out.println(e.getClass()),看下继承的是exception还是error
按描述感觉是抛出来的异常是Error类型的,所以导致Exception捕获不到

此木|西贝 | 园豆:218 (菜鸟二级) | 2024-02-06 14:47
0

Throwable下划分为两种类型,Exception和Error。
Exception表示程序可以处理的错误。
Error表示程序无法处理的错误。根据截图看,应该是加载类的时候,发现类没有找到。

蜗牛旅行1899 | 园豆:285 (菜鸟二级) | 2024-05-15 09:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册