作者CMJ0121 (請多指教!!)
看板Python
標題[問題] exception的疑問
時間Sat Jul 31 00:37:57 2010
現在我在做一個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