在创建对象时引发异常

2022-02-27 00:00:00 try-catch java

是否在实现Catch语句时创建异常对象?

例如,catch(ArithmeticException Ome Object)

此对象不必显式创建为实例吗?


解决方案

您正在创建对象。但您没有创建它的实例。

Exception对象实例在有人抛出时创建。

try {
    Foo foo = null;
    foo.dofoo();
} catch(NullPointerException e) {
    // ...
}

在此特定情况下,jvm创建了您在Catch挡路中处理的NullPointerException对象实例。

简而言之,想象一下在JVM的某个部分中有如下内容:

if (obj == null) {
    throw new NullPointerException();
}

不要认真对待前面的代码示例。这是异常引发的示例。

相关文章