除了库特定的错误之外,你如何使用try?

时间:2017-09-06 22:47:14

标签: python pygame try-catch except

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

pygame.error: Invalid joystick device number

我目前的代码是:

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

除了只有这个pygame错误而不是所有的pygame错误外,我如何将except子句格式化?

1 个答案:

答案 0 :(得分:3)

直接回答您的问题:由于异常都是相同的类型,因此您的选项仅限于检查异常消息,如果不匹配则重新引发异常。或者因为你只是用try / except包装那个函数,所以可以安全地假设它是一个操纵杆错误而不是别的东西。 Buuuuut .....

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