欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解python ThreadPoolExecutor異常捕獲

 更新時間:2023年01月29日 08:56:13   作者:ldahual  
本文主要介紹了詳解python ThreadPoolExecutor異常捕獲,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

python ThreadPoolExecutor線程池的工作線程中出現(xiàn)異常時,主線程不會捕獲異常。

解決方法1:

直接在需要執(zhí)行的任務(wù)方法中添加try:

executor = ThreadPoolExecutor()
executor.submit(test_work, 0)

def test_work(p):
?? ?try:
?? ??? ?1/p
?? ?except Exception as e:
? ? ? ? logger.exception(e)

解決方法2:

添加完成運行時的callback:

executor = ThreadPoolExecutor()
task = executor.submit(test_work, 0)
task.add_done_callback(handle_exception)

handle_exception中又可以通過兩種方式捕獲異常:

2.1 通過concurrent.futures.Future.exception(timeout=None)

def handle_exception(worker):
    # Method 1: concurrent.futures.Future.exception(timeout=None)
    worker_exception = worker.exception()
    if worker_exception:
        logger.exception(worker_exception)

2.2 通過concurrent.futures.Future.result(Timeout = None)

def handle_exception(worker):
    Method 2: try
    try:
        worker.result()
    except Exception as e:
        logger.exception(e)

到此這篇關(guān)于詳解python ThreadPoolExecutor異常捕獲的文章就介紹到這了,更多相關(guān)python ThreadPoolExecutor異常捕獲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論