gpt4 book ai didi

design-patterns - 抛出异常时尝试不同方法的模式

转载 作者:行者123 更新时间:2023-12-04 07:01:15 24 4
gpt4 key购买 nike

这是一个暴露我缺乏经验的问题:我有一个方法 DoSomething() 如果它不能干净地完成它会抛出异常。如果失败,我尝试了几次不太准确的方法DoSomethingApproximately(),希望它会找到一个足够好的解决方案;如果这也失败了,我最后会调用 DoSomethingInaccurateButGuaranteedToWork()。这三个都是属于这个对象的方法。

两个问题:首先,这种(诚然丑陋的)模式是否可以接受,还是有更优雅的方式?

其次,什么是跟踪我调用 DoSomethingApproximately() 次数的最佳方法,因为它可能会引发异常?我目前在对象中保留一个变量 iNoOfAttempts,并嵌套 try block ......这太可怕了,我很惭愧。

最佳答案

您不应该在应用程序的控制流中使用异常。

在你的情况下,我会将这三个方法组合成一个方法,并让它返回成功的特定方法,可能使用枚举或类似的东西。

关于design-patterns - 抛出异常时尝试不同方法的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/126829/

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