gpt4 book ai didi

java - 自定义异常类不捕获异常

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:12 25 4
gpt4 key购买 nike

我有一个扩展异常类的自定义异常类(如下所示)。

public class SomeABCException extends Exception

但是,当我在之前在 catch block 中使用 Exception 的所有地方使用此 SomeABCException 时,即使它扩展 也不会捕获异常异常类本身。

例如如果父/调用方方法具有如下所示的 catch block

catch (Exception e) {
TODO something;
}

如果我有一个如下所示的子方法,我将在其中运行一些数据库查询。

try {
Some database queries;
} catch (SomeABCException e) {
throw new SomeABCException (e.getMessage(),"I/O or SQL_EXCEPTION");
}

这里,如果 sql 连接失败,catch 无法捕获异常,而是在使用 System.Exception 捕获它的父/调用者 catch block 中捕获。

在调试期间,它不会转到子方法的 catch block 中的 throw。

请解释一下,我不明白。

最佳答案

我相信你在倒退思考。 Exception 的实例只会捕获作为子类或其实例的异常。因此,由于 ExceptionSomeABCException父类(super class),因此不会捕获 SQLException

关于java - 自定义异常类不捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32362595/

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