python - 如何使用 try except 来排除库特定错误?

标签 python pygame try-catch except

我正在程序中初始化游戏 handle ,但如果游戏 handle 未连接,则会返回错误:

pygame.error: Invalid joystick device number

我当前的代码是这样的:

try:
    init_controller()
except pygame.error:
    use_keyboard = True

如何格式化 except 子句以仅排除此 pygame 错误而不是所有 pygame 错误?

最佳答案

直接回答您的问题:由于异常都是同一类型,因此您的选择仅限于简单地检查异常消息,然后在不匹配时重新引发异常。或者,由于您仅使用 try/except 包装该函数,因此可以安全地假设它是操纵杆错误而不是其他错误。不过……

问题的真正答案:您可以使用pygame.joystick.get_count()检查有多少个操纵杆。如果为 0,则不调用该函数。

关于python - 如何使用 try except 来排除库特定错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46085390/

相关文章:

python - 在没有回溯的情况下引发错误

python - pyyaml 将mac地址转为数字

python - 在不安装的情况下使用 Pygame

python - Pygame 滚动 map 进阶

c# - try catch 的行为,最后在 c# 中使用 return 语句工作流程

.net - 使用 try/catch 的优点和缺点

Python Numpy 数组相等失败

python - 生成元组的修改副本

python - 模块无法加载,仅标题发生变化(pygame)

c++ - c++ try try catch的所有命中命中终止于C++ 11 14和17