===============华丽分割线===============
为什么我已经 写了 try catch 代码块,为什么还是会抛出异常 ? 不是应该输出 111111111111111 才对吗 ?
==============================================
我 把 Exception 换成 Throwable 就问题解决了。 这是什么知识点 ?? 为什么Exception抓不住 ?
===============华丽分割线===============
为什么我已经 写了 try catch 代码块,为什么还是会抛出异常 ? 不是应该输出 111111111111111 才对吗 ?
==============================================
我 把 Exception 换成 Throwable 就问题解决了。 这是什么知识点 ?? 为什么Exception抓不住 ?
首先,你提供的信息不足以让我完全理解你的问题。不过,我还是会尝试根据你给出的信息提供一些可能的解释。
Java 中的异常处理机制主要依赖于 try-catch 块。当你将一些可能会抛出异常的代码放在 try 块中时,如果真的抛出了异常,那么控制流就会立即转到与该异常匹配的 catch 块。
但是,这并不意味着在 catch 块中你就可以忽视异常的存在。即使你捕获了异常,你的程序仍然处于异常状态,你可能仍然需要进行一些清理工作,或者以某种方式通知用户程序出现了问题。
此外,如果你的 try 块中的代码抛出了异常,并且这个异常没有被 catch 块捕获,那么程序将会停止执行并抛出该异常。这就是为什么即使你有 try-catch 块,仍然可能会出现异常的原因。
关于你提到的 "输出 111111111111111",我猜测你可能是在说 try-catch 块中的一些打印语句。如果这些打印语句在抛出异常之前执行,那么它们是有可能被执行的。但是,如果异常在打印语句之后抛出,那么这些打印语句可能不会被执行。
如果你能提供更多的代码和上下文信息,我可能会更好地帮助你理解这个问题。
Exception 是 Throwable 的一个子类,是表示程序运行过程中出现的异常情况的类。
Throwable是所有异常的根类,针对加载异常的情况,Exception 无法正常捕获
搞清楚一个概念,什么叫做检查时异常,ClassNotFoundException
这明显是一个检查时异常,你现在是检查时异常在运行时抛出,这就是不可能的事情!!!这种情况,只有在子模块编写的类,使用的三方库是<option>true</option>
,不对外依赖传递,但是你自己的启动类引用了自己写的模块,启动模块又没有再次引用这个三方库,用这种方式骗过了编译器。
运行时类找不到,会报NoClassDefFoundError
,这是一个error,是Throwable
的子类,但不是Exception
的子类,而触发它的cause
是jvm自身引发的ClassNotFoundException
,console输出的异常类型并不是实际异常类型,而是tomcat
或Spring
这种框架getCause()
之后的具体原因,隐藏了实际的异常类型
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答704 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
2 回答1.3k 阅读
只能怀疑 捕获的并不是
java.lang.Exception