gpt4 book ai didi

Kotlin:尝试,捕捉,并且只有在最后出现错误时

转载 作者:行者123 更新时间:2023-12-03 07:56:05 25 4
gpt4 key购买 nike

我有一段代码可以像这样抛出和捕获错误

try {

} catch (e: FooException) {

} catch (e: BarException) {

} finally {

}
并且有一些代码只有在至少捕获一个错误时才需要运行,也许是通过一些想象的 catchfinally堵塞。除了存储 errorCaught变量并在 finally 中检查它,有没有更易读的选择?

最佳答案

finally的目的|就是执行一段代码,不管是否抛出任何异常。恕我直言,应该这样使用它以获得更好的可读性。一个通用的 catch block 最适合您的用例,而不是 finally堵塞。我建议做以下事情。
将代码放入函数中,删除 finally block ,并从单个 catch block 中抛出异常

fun newMethod() {
try {
// do something
} catch (e: FooException) {
// do something
throw e
} catch (e: BarException) {
// do something
throw e
}
}
从调用者那里,有一个通用的 catch堵塞
try {
newMethod()
} catch {
// execute code that wanted to execute for any exception
}
从一个单独的地方,如果你需要一个 finally block ,你可以在那里实现它。
try {
newMethod()
} catch {
// do something
} finally {
// finally block
}

关于Kotlin:尝试,捕捉,并且只有在最后出现错误时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65552962/

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