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

Spotipy已捕获SpotifyException仍抛出异常的问题排查

问题根因

你的try-except逻辑结构本身没有错误,问题出在异常类的引用方式不对,导致写的捕获规则根本匹配不到实际抛出的异常。
SpotifyException是spotipy模块顶层定义的异常类,你代码里写的sp.SpotifyException是从初始化好的Spotify客户端实例上取的属性,和实际接口报错时抛出的异常类不是同一个对象,所以捕获逻辑完全不生效,才会出现异常没被拦住、提示处理异常期间又触发新报错的现象。

修复方案

直接引用spotipy模块下的异常类做匹配即可,不需要从客户端实例上取,修改后的可运行代码如下:

import spotipy
from spotipy.oauth2 import SpotifyOAuth

sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id="...",
                                               client_secret="...",
                                               redirect_uri="http://localhost/",
                                               scope="playlist-modify-public",
                                               requests_timeout=5))
try:
    track = sp.track('7IaxPh0ttHTsJ4rVPPiQ9V', 'NL')
# 直接匹配模块下的SpotifyException,不要用sp.SpotifyException
except spotipy.SpotifyException:
    x = 0

如果觉得每次写spotipy.SpotifyException麻烦,也可以在导包的时候直接把异常类导入:

from spotipy import SpotifyException

后续except块直接写except SpotifyException:即可。

报错提示说明

你看到的During handling of the above exception, another exception occurred不是说你在except块里写的代码出了错,本质是解释器尝试按你写的规则匹配抛出的异常时,发现类型对不上,最终抛出了未捕获异常的提示,和异常处理块的嵌套、缩进逻辑没有关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 23:54:18