gpt4 book ai didi

java - 哪种方法更好,为什么?

转载 作者:行者123 更新时间:2023-12-01 11:52:14 26 4
gpt4 key购买 nike

假设我有一组嵌套的自定义异常,可以从 Controller 或服务中的任何位置抛出。

那么采用哪种方法是更好的选择?1.使用try catch block 来捕获这些异常2.使用一个方法接受包含所有业务模块的闭包。

例如

方法一:

 try{
//call the business logic here
}catch(CustomException ex){
// do something
}

方法 2。

Controller.action{
// call the business logic here.
}
This method will in turn catch all the exceptions in a try catch
like, this action may look like the following

action(Closure closure){
try{
}
catch(CustomException e)
// do handling
}

以上哪种架构虎钳更正确并且看起来更干净。

最佳答案

您应该考虑要在何时何地处理异常。如果您可以在此时执行某些操作(即记录错误、重试等),请用 try-catch 括起来。如果您无能为力,则允许它冒泡并在更高级别进行处理。出于这个原因,我更喜欢未检查的异常而不是已检查的异常,因为您可以选择在需要时处理它们,并且不会被迫使用 try-catch block 使代码变得困惑。

在这种情况下,我倾向于仅在 Controller 中查找异常并做出相应响应,除非我可以采取特定措施来处理较低的异常。

但这确实取决于用例和个人喜好。考虑异常何时可能发生以及如何以及何时处理它绝对很重要,而不是对所有异常应用一揽子方法。

关于java - 哪种方法更好,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28706136/

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