[問題] 關於設計程式運作流程的問題

作者: Dong0129 (阿東跟上面講的情況一樣b)   2019-12-06 17:21:57
各位版友好,
最近在運用exception時遇到一個流程設計的問題,
假設我有3個函式,分別是a、b、c,
其中a會呼叫b和c,b會呼叫c
若是想做到只要有函式出現例外,整個程式就停止運作,
是否只能用判斷式一一檢查執行完的函式是否正常跑完呢?
還是有其他種作法呢?
如果只能用判斷式一一檢查被呼叫的函式執行結果,若a大量呼叫b和c,不就會充斥很多
判斷式在a中嗎?
附上範例...
#main.py
from test import test
if __name__=='__main__':
t=test()
t.test()
作者: sherees (ShaunTheSheep)   2019-12-06 17:37:00
你可以把try except寫在b, c裡面
作者: benson415 (沛行)   2019-12-06 19:43:00
如果要中斷,何不raise error?
作者: stucode   2019-12-06 23:13:00
因為你 except 把例外攔下來了,想讓它向外傳播的話在最外層或你想處理例外的地方 try except 就好如果想在中間做些 logging 可以先攔下來再 re-raise
作者: benson415 (沛行)   2019-12-07 22:03:00
按照你的寫法,印出來的確實是會這樣沒錯。如果真的想中斷又不大改的話就是直接在test3裡面把except裡的print(e)改成raise e

Links booklink

Contact Us: admin [ a t ] ucptt.com