重複の可能性:
Pythonの呼び出し元スレッドでスレッドの例外をキャッチします
私は与えられたコードを持っていて、
thread.start_new_thread()
python docで読んだように、「関数が未処理の例外で終了すると、スタックトレースが出力され、スレッドが終了します(ただし、他のスレッドは引き続き実行されます)。」しかし、(新しい)関数が例外で終了したときにメインスレッドも終了したいので、例外はメインスレッドに転送されます。これどうやってするの?
編集:ここに私のコードの一部があります:
def CaptureRegionAsync(region=SCREEN, name="Region", asyncDelay=None, subDir="de"):
if asyncDelay is None:
CaptureRegion(region, name, subDir)
else:
thread.start_new_thread(_CaptureRegionAsync, (region, name, asyncDelay, subDir))
def _CaptureRegionAsync(region, name, asyncDelay, subDir):
time.sleep(max(0, asyncDelay))
CaptureRegion(region, name, subDir)
def CaptureRegion(region=SCREEN, name="Region", subDir="de"):
...
if found:
return
else:
raise Exception(u"[warn] Screenshot has changed: %s" % filename)
CaptureRegionAsync(myregion,"name",2)