【问题标题】:How do you use try except for library specific errors?除了库特定的错误之外,您如何使用 try?
【发布时间】:2018-02-15 13:04:57
【问题描述】:

我正在我的程序中初始化一个游戏手柄,但如果游戏手柄未连接,它将返回错误:

pygame.error: Invalid joystick device number

我当前的代码是这样的:

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

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

【问题讨论】:

    标签: python pygame try-catch except


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 2018-07-30
      • 2016-10-09
      • 2021-05-07
      相关资源
      最近更新 更多