[問題] 關於exception時後續處理

看板Python作者 (阿東)時間6年前 (2019/07/11 13:33), 6年前編輯推噓2(209)
留言11則, 1人參與, 6年前最新討論串1/1
各位版友好, 小弟設計了一套工具,但架構上不知道是否正確所以想請教一下各位, 工具為一個主檔案和多個可被選來執行的副檔案, 主檔案結構如下: #main import … def Loop(): for member in list: try: #依序執行被選中的副檔案 except: #exception processed #希望就算其中一個副檔案執行時失敗也要繼續執行下一個副 檔案 continue if __name__==‘__main__’: try: Loop() except: #exception processed 每個副檔案的架構如下: #main import … if __name__==‘__main__’: try: #do something except: #exception processed 請問在這種架構下,若副檔案進入exception時,主檔案會繼續執行下一個副檔案嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.136.91 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1562823217.A.704.html

07/11 13:35, 6年前 , 1F
你副檔案不能用 if __name__==‘__main__’ 啊
07/11 13:35, 1F

07/11 13:36, 6年前 , 2F
這樣根本不會執行
07/11 13:36, 2F
我是用popen去執行每個副檔案,可以執行耶...或是該怎麼做比較恰當呢? ※ 編輯: Dong0129 (42.73.136.91 臺灣), 07/11/2019 13:38:24

07/11 13:37, 6年前 , 3F
而且你continue放在for迴圈的最後一行那等於沒寫
07/11 13:37, 3F
我原本寫法有誤,應該是要放在except底下,請問若改為現在文章中的架構,請問其中一 個副檔案進入exception時其他檔案會繼續執行嗎? ※ 編輯: Dong0129 (42.73.136.91 臺灣), 07/11/2019 14:06:08

07/11 14:08, 6年前 , 4F
喔喔,用popen去開每個副檔案的話那沒事,我以為你用
07/11 14:08, 4F

07/11 14:08, 6年前 , 5F
一般function呼叫
07/11 14:08, 5F

07/11 14:10, 6年前 , 6F
你其實continue可以不用加,你把所有exception都拉出
07/11 14:10, 6F

07/11 14:10, 6年前 , 7F
來處理了,程式不會中斷,它在except裡面跑完自然會繼
07/11 14:10, 7F

07/11 14:10, 6年前 , 8F
續跑for迴圈
07/11 14:10, 8F

07/11 14:17, 6年前 , 9F
是說你用popen的話,那你主程式也不用try-except啊,
07/11 14:17, 9F

07/11 14:17, 6年前 , 10F
在你的副檔案裡面處理就好,副檔案沒成功也不會造成你
07/11 14:17, 10F

07/11 14:17, 6年前 , 11F
主程式的for迴圈中斷
07/11 14:17, 11F
主檔案除了處理副檔案還有作其他事情,所以必須用except去紀錄錯誤訊息 ※ 編輯: Dong0129 (42.73.136.91 臺灣), 07/11/2019 15:37:57
文章代碼(AID): #1T9ienS4 (Python)
文章代碼(AID): #1T9ienS4 (Python)