2
這是一個非常基本的設計問題。如果某些條件不滿足,我的程序需要退出。我有一個class A
。下面顯示的方法main_logic
具有控制指令。該方法創建了幾個實例並調用了在這些實例上定義的一些方法我正在展示一個這樣的例子,它創建對象b = CalcB()
,然後調用b.run()。python退出程序的推薦方式
雖然在b.run()
,我有條件地退出代碼update_val
。 main_logic
也負責調用其他代碼。
我的問題是:
- 它是一個可以接受的做法,從一些輔助代碼退出程序(在這種情況下
CalcB
的update_val
或者我應該總是返回一些錯誤代碼,做這裏面main_logic? ? 是否有更好的設計來處理這種情況呢?比如有些錯誤處理類?優雅的解決方案的任何說明,將不勝感激
import sys class Shelf: def get_factor(self): self.some_factor = 0.5 return self.some_factor class CalcB: def __init__(self): self.shelf = Shelf() self.ref = 1.0 self.area = 3.14285 def run(self): print("Calculation B running") some_factor = self.shelf.get_factor() self.update_val(some_factor) def update_val(self, some_factor): self.value = some_factor*self.area if (self.value > self.ref): print("too bad.. exiting the program") sys.exit() class A: def main_logic(self): b = CalcB() b.run() # some more code follows... #do_something() #d = CalcD() #do_something_else(d) if __name__ == "__main__": a = A() a.main_logic()
謝謝@tripleee和Antti。那麼你會建議創建一個自定義的異常類嗎?另外,你是否可以回答問題的第二部分......也就是說,我是否應該有一些共同的課來觀察這些問題並提出異常? – stackjs