除了特定于库的错误之外,您如何使用 try?
How do you use try except for library specific errors?
我正在我的程序中初始化游戏手柄,但如果游戏手柄未连接,它将 return 错误:
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,则不要调用该函数。
我正在我的程序中初始化游戏手柄,但如果游戏手柄未连接,它将 return 错误:
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,则不要调用该函数。