【发布时间】:2008-09-24 12:27:02
【问题描述】:
这是一个暴露我缺乏经验的问题:我有一个方法 DoSomething() 如果它不能干净地完成它,它会抛出异常。如果失败,我尝试了几次不太准确的方法DoSomethingApproximately(),希望它能找到一个足够好的解决方案;如果这也失败了,我最后会调用 DoSomethingInaccurateButGuaranteedToWork()。这三个都是属于这个对象的方法。
两个问题:首先,这种(确实丑陋的)模式是否可以接受,还是有更优雅的方式?
其次,什么是跟踪我调用 DoSomethingApproximately() 次数的最佳方法,因为它可能会引发异常?我目前在对象中保留一个变量 iNoOfAttempts,并嵌套 try 块......这太可怕了,我很惭愧。
【问题讨论】:
-
是的;我认为大多数解决方案都应该与语言无关,只要可以进行异常处理。
标签: design-patterns exception exception-handling