gpt4 book ai didi

java - 何时应公布异常情况以及何时应进行处理的经验规则

转载 作者:行者123 更新时间:2023-11-30 04:47:35 24 4
gpt4 key购买 nike

我有方法x,它调用其中的另一个名为y的方法,该方法抛出异常MyException。此时我有 2 个选择,要么宣传我的方法 x ,但异常 MyException ... 就像

public void x() throws MyException {
// call to y
}

(因为 y 是通过这样的 throws 子句进行广告的...)

public void y() throws MyException {
// code
}

或者将我的方法 x 中对 y 的调用包装在 try catch block 中并处理它?像这样..

public void x() {
try {
// call to y
} catch (MyException e) {
// handle exception
}
}

经验法则是什么?

最佳答案

如果您的方法可以与其调用者保持契约,无论异常如何,那么该异常就是它可以而且可能应该处理的东西。

如果调用者会困惑地发现他们说“do x”,并且执行“x”的“y”部分存在内部问题,因为“x”并没有真正完成,那么你应该公开异常(或以 MyException 作为原因的其他异常)。

并且 - 考虑调用者是否可以合理地处理异常,或者程序是否有任何理由继续运行,如果答案是否定的,请考虑使用 RuntimeException分别为错误

无论如何,这就是我想说的。

关于java - 何时应公布异常情况以及何时应进行处理的经验规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10612203/

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