gpt4 book ai didi

java - 在单独的方法中处理异常以提高可读性

转载 作者:行者123 更新时间:2023-11-30 06:41:30 25 4
gpt4 key购买 nike

在单独的方法中处理异常是反模式吗?

假设我有一个方法执行一些低级 IO 并可能抛出 IOException,我有一个方法 foo() 多次调用低级 IO 方法。在这样的第三种方法中进行异常处理是否有意义:

 public void foo()  throws MyCheckedException {
// some stuff
goDoSomeIO(path1)
// some other stuff
goDoSomeIO(path2)
// some more stuff
goDoSomeIO(path3)

}

private String goDoSomeIO(String filePath) throws MyCheckedException {
try {
doSomeIO(filePath);
} catch (IOException ioe) {
LOG.error("Io failed at: " + filePath);
throw new MyCheckedException("Process failed because io failed", ioe)
}
}

private String doSomeIO(String filepath) throws IOException {
//io stuff
}

我发现这比 doSomeIO 方法自己进行异常处理或异常处理发生在 foo 中时更具可读性。

最佳答案

我经常看到在较高级别处理较低级别方法异常的代码,而不管较低级别只是一个方法还是多个方法。

这很常见并且是由于分离的关注点:低级的东西负责推送文件,高级的东西捕获异常以确定复杂的操作是否有效。我不认为把处理IO和处理IO放在不同的方法中有什么不对。 (我会尝试给他们起个名字,不过这样可以解释目的。我不喜欢 goDoWhatever 和 doWhatever)

关于java - 在单独的方法中处理异常以提高可读性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55380871/

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