这是一个非常基本的设计问题。如果不满足某些条件,我的程序需要退出。我有class A
。下面显示的方法main_logic
具有控制指令。此方法创建多个实例并调用在这些实例上定义的一些方法。我正在展示一个这样的例子,它创建对象b = CalcB()
,然后调用b.run()。
在b.run()
中,我有条件退出update_val
中的代码。 main_logic
也负责调用其他代码。
我的问题是:
update_val
的{{1}}?或者我应该总是返回一些错误代码并在main_logic中执行此操作吗?有没有更好的设计来处理这种情况?示例一些错误处理类?任何优雅的解决方案的例证将不胜感激
CalcB
答案 0 :(得分:1)
为了使您的代码可以重用,它不应强制调用代码的行为。标准解决方案是引发异常,并使主程序退出该异常。
class ClassAException(Exception):
pass
class ClassA (object):
def method:
if situation not in stuff_I_can_handle:
raise ClassAException('Cannot handle ' +repr(situation))
我不确定你的第二个问题。你应该知道如何处理的情况应该在那里处理。例外情况适用于您不准备处理的情况。