我一直在試圖捕獲應該由於單擊熱鍵而引起的異常,不幸的是,添加一個熱鍵需要添加一個函數,熱鍵被按下。Catch自定義的異常是由try-block內部的函數引發的
現在我知道只有在try-catch
塊內部引發異常時纔會捕獲異常,但這似乎不起作用。
class resetException(Exception): pass
try:
def resetRun(event):
raise resetException
Env.addHotkey(resetKey, 0, resetRun)
while True:
[...]
except resetException:
popup("reset")
引發異常,但它似乎不是在try塊內引發的?如果我只是在沒有該功能的情況下提升resetException
,則此效果非常好。
Exception in thread "Thread-8" Traceback (most recent call last):
File "Sikuli\sikulix.jar\Lib\sikuli\Env.py", line 13, in hotkeyPressed
File "Sikuli\Test.sikuli\Test.py", line 339, in resetRun
raise resetException
__main__.resetException
有沒有解決方法?
在此先感謝!
這是多線程? (看起來像你的綁定鍵,所以我猜你有一個事件循環活動) –
從try..catch塊取出異常函數 –
爲什麼用'try/catch'封裝'def'?將它移動到'def'中。 –