gpt4 book ai didi

java - 捕获运行时异常?

转载 作者:行者123 更新时间:2023-12-02 05:14:28 26 4
gpt4 key购买 nike

我知道 RunTimeExceptions 可以通过 Exception catch block 捕获,如下所示。

public class Test {
public static void main(String[] args) {
try {
throw new RuntimeException("Bang");
} catch (Exception e) {
System.out.println("I caught: " + e);
}
}
}

我有自己创建的异常类,如下所示。

public class CustomException extends Exception {


public CustomException(String message, Throwable cause) {
super(message, cause);
}


public CustomException(String message) {
super(message);
}
}

但是现在我不再将 Exception 保留在 catch block 中,而是保留了 CustomException。但是现在 catch block 不捕获运行时异常。为什么?

public class Test {
public static void main(String[] args) {
try {
//consider here i have some logic and there is possibility that the logic might throw either runtime exception or Custom Exception
throw new RuntimeException("Bang");
} catch (CustomException e) {
System.out.println("I caught: " + e);
}
}
}

谢谢!

最佳答案

enter image description here

扩展异常类不会使其成为运行时异常。参见上图。您还可以使用多态引用(父类(super class))来捕获子类异常。反之则不行。

关于java - 捕获运行时异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20650288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com