[問題] exception的疑問

看板Python作者 (請多指教!!)時間14年前 (2010/07/31 00:38), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/3 (看更多)
現在我在做一個bot的程式 但是我不太懂exception... 卡住了 我的程式有兩部份 class BBS(Thread): def run(self): # thread: loop for recv message def kill(self): # kill thread and raise an Excetpion ... 這部份是建立一個BBS class 可以自動處理我要的資訊 其中 run是一個thread 用來 recv socket from target 作法是一個 while loop 條件設在BBS裡面 kill是當滿足某些條件後會執行 會把run()中的while loop的條件改為否 並且丟出一個exception: raise Exception('BBS Kill') 以及主程式 app = BBS() try: # opeartion of app ... except NameError: # first create app app = BBS() ... exception Exception: # catch an excetpion raise by BBS del app app = BBS() ... 我的 NameError exception有正常的catch到 但是後面那個 Exception卻沒有抓到 他會顯示出 Exception: BBS Kill 這代表我自定義的exception做錯了嗎!? 還是我沒有正確的抓到?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.210.81

07/31 06:54, , 1F
exception裡面raise的exception不會被後面的抓到
07/31 06:54, 1F

07/31 06:55, , 2F
要在try...except NameError外面包一層try...except Excep
07/31 06:55, 2F

07/31 06:55, , 3F
tion
07/31 06:55, 3F

08/01 22:15, , 4F
thx a lot~
08/01 22:15, 4F
文章代碼(AID): #1CKl_e0m (Python)
文章代碼(AID): #1CKl_e0m (Python)