You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用yfinance报错未被try/except捕获且栈追踪无自定义脚本问题

问题解答

1. 栈回溯未提及P2_small.py的原因

yfinance默认依赖multitasking库开启子线程异步执行数据拉取任务,报错第一行已经明确标注Exception in thread Thread-1225,说明异常发生在第三方库创建的子线程中。子线程的调用栈从线程初始化入口(也就是threading库的run方法)开始记录,不会包含你主线程中P2_small.py的代码路径,所以栈回溯全程只显示库文件的调用逻辑。

2. 异常未被try/except捕获的原因

Python的异常是线程隔离的,你写的try/except块包裹的是主线程中startInfiniteLoop函数的逻辑,只能捕获主线程运行时抛出的异常。而本次报错发生在yfinance新开的子线程中,子线程的异常无法跨线程传递到主线程的异常捕获块,所以你写的except分支根本接收不到这个错误。


修复方案

调用yf.download时添加threads=False参数,强制关闭多线程异步逻辑,让数据拉取在主线程同步执行,这样抛出的网络异常就能被你写的try/except捕获:

df = yf.download(tickers="RDSB.L", period="1y", interval="1d", auto_adjust=True, prepost=False, threads=False)

内容的提问来源于stack exchange,提问作者mkemper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 06:39:03