详解python ThreadPoolExecutor异常捕获

 更新时间:2023年01月29日 08:56:13   作者:ldahual  
本文主要介绍了详解python ThreadPoolExecutor异常捕获,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

python ThreadPoolExecutor线程池的工作线程中出现异常时,主线程不会捕获异常。

解决方法1:

直接在需要执行的任务方法中添加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)

到此这篇关于详解python ThreadPoolExecutor异常捕获的文章就介绍到这了,更多相关python ThreadPoolExecutor异常捕获内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用PyCharm Profile分析异步爬虫效率详解

    利用PyCharm Profile分析异步爬虫效率详解

    这篇文章主要给大家介绍了关于如何利用PyCharm Profile分析异步爬虫效率的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PyCharm具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 对python的bytes类型数据split分割切片方法

    对python的bytes类型数据split分割切片方法

    今天小编就为大家分享一篇对python的bytes类型数据split分割切片方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • LyScript实现对内存堆栈扫描的方法详解

    LyScript实现对内存堆栈扫描的方法详解

    LyScript插件中提供了三种基本的堆栈操作方法,其中push_stack用于入栈,pop_stack用于出栈,peek_stac可用于检查指定堆栈位置处的内存参数。所以本文将利用这一特性实现对内存堆栈扫描,感兴趣的可以了解一下
    2022-08-08
  • Django restframework 源码分析之认证详解

    Django restframework 源码分析之认证详解

    这篇文章主要介绍了Django-restframework 源码分析之认证详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • python批量提取图片信息并保存的实现

    python批量提取图片信息并保存的实现

    这篇文章主要介绍了python批量提取图片信息并保存的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python基于sftp及rsa密匙实现远程拷贝文件的方法

    Python基于sftp及rsa密匙实现远程拷贝文件的方法

    这篇文章主要介绍了Python基于sftp及rsa密匙实现远程拷贝文件的方法,结合实例形式分析了基于RSA秘钥远程登陆及文件操作的相关技巧,需要的朋友可以参考下
    2016-09-09
  • 利用python批量爬取百度任意类别的图片的实现方法

    利用python批量爬取百度任意类别的图片的实现方法

    这篇文章主要介绍了利用python批量爬取百度任意类别的图片的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • python与php实现分割文件代码

    python与php实现分割文件代码

    本文给大家分享的是两个分别使用python和php实现的将文件分割成小文件的代码,非常的实用有需要的小伙伴可以参考下
    2017-03-03
  • 一个基于flask的web应用诞生 bootstrap框架美化(3)

    一个基于flask的web应用诞生 bootstrap框架美化(3)

    一个基于flask的web应用诞生第三篇,这篇文章主要介绍了前端框架bootstrap与flask框架进行整合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Python 使用tf-idf算法计算文档关键字权重并生成词云的方法

    Python 使用tf-idf算法计算文档关键字权重并生成词云的方法

    这篇文章主要介绍了Python 使用tf-idf算法计算文档关键字权重,并生成词云,本文通过实例代码给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03

最新评论