gpt4 book ai didi

java - 递归函数抛出异常

转载 作者:搜寻专家 更新时间:2023-11-01 02:36:26 26 4
gpt4 key购买 nike

我为一个更大的应用程序构建了一个库/模块,它从函数中抛出异常。如果找不到文件或文件包含错误格式,则会抛出异常。

该方法类似于:

Shape parse(String path) throws Exception {
// load file, parse file, guild graph

if ( file does contain bad format ) {
throw new Exception("bad format");
}

parse(newPath);
}

异常将终止我的模块,因为它会在使用我的模块的应用程序中被捕获,但这没关系,因为格式不正确。

我想知道的是 - 从这样的递归函数中抛出异常是一种不好的做法吗?

最佳答案

这实际上取决于您的编程风格。

在递归函数内部抛出异常还不错,但是抛出

new Exception("bad format")

不是一个很好的做法,因为很难捕捉到特定的异常。您应该改为创建自己的异常或使用

java.text.ParseException

作为检查异常。

另一方面,您也可以返回 Either 类型以避免检查异常。有关于用 Java 实现它的现有答案: Is there an equivalent of Scala's Either in Java 8?

关于java - 递归函数抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49760877/

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