python推荐退出程序的方法

时间:2015-09-26 18:07:09

标签: python exit

这是一个非常基本的设计问题。如果不满足某些条件,我的程序需要退出。我有class A。下面显示的方法main_logic具有控制指令。此方法创建多个实例并调用在这些实例上定义的一些方法。我正在展示一个这样的例子,它创建对象b = CalcB(),然后调用b.run()。

b.run()中,我有条件退出update_val中的代码。 main_logic也负责调用其他代码。

我的问题是

  1. 从某些支持代码退出程序是否可以接受(在这种情况下是update_val的{​​{1}}?或者我应该总是返回一些错误代码并在main_logic中执行此操作吗?
  2. 有没有更好的设计来处理这种情况?示例一些错误处理类?任何优雅的解决方案的例证将不胜感激

    CalcB

1 个答案:

答案 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))

我不确定你的第二个问题。你应该知道如何处理的情况应该在那里处理。例外情况适用于您不准备处理的情况。