看板 Python 關於我們 聯絡資訊
現在我在做一個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
liangjr:exception裡面raise的exception不會被後面的抓到 07/31 06:54
liangjr:要在try...except NameError外面包一層try...except Excep 07/31 06:55
liangjr:tion 07/31 06:55
CMJ0121:thx a lot~ 08/01 22:15