怎样在python中捕获线程抛出的异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在python中捕获线程抛出的异常相关的知识,希望对你有一定的参考价值。

参考技术A python的线程中的异常,通常不会给你显示出错的语句。你可以将thread函数,或者是Thread的run里的内容用整个儿的try catch包裹起来。搜索

然后这样
import traceback,sys
try:
threadfun1()
except:
traceback.print_exc(file=sys.stdout)

这样出错的时候就能定位到是哪一行代码了。

因为线程经常出现这种无显示错误位置的情形。后来都形成了习惯,要不把线程放在try catch里。要不就仔细检查线程函数,确保它没有错误,再放出去运行。

另外你还可以将线程函数的功能放在主进程里,单线程运行。这样错误位置就曝露出来了。

仅仅从你这个提示来看是无法定位错误的位置与类型的。本回答被提问者和网友采纳

以上是关于怎样在python中捕获线程抛出的异常的主要内容,如果未能解决你的问题,请参考以下文章

为啥不能在主线程中直接捕获和处理工作线程抛出的异常?

捕获Java线程池执行任务抛出的异常

主线程会捕获另一个线程抛出的异常吗?

捕获程序未抛出的异常

如何捕获ctypes中抛出的异常?

如何从线程中捕获异常