使用 Python 的 except 块在一行中捕获多个异常
在 Python 中,您可以使用 ' except' 块捕获各种异常。传统上,处理多个异常涉及使用多个单独的“例外”子句:
try: # Code that may fail except IDontLikeYouException: # Handle IDontLikeYouException except YouAreTooShortException: # Handle YouAreTooShortException
但是,如果您需要处理相同的异常以响应多个其他异常,则存在更简洁的方法。
使用元组捕获多个异常
通过将异常分组到元组,您可以在单个“例外”块中处理它们的出现:
try: # Code that may fail except (IDontLikeYouException, YouAreBeingMeanException) as e: # Handle both exceptions
在此代码中,元组“(IDontLikeYouException, YouAreBeingMeanException)”指定“例外”块将在以下任一情况下执行引发异常。
示例用法
考虑下面的代码:
def say_please(): print("Please...") try: raise IDontLikeYouException() except (IDontLikeYouException, YouAreBeingMeanException): say_please()
当在 'except' 块中调用 'say_please()' 函数时,它会打印“Please...”。这演示了如何使用元组处理多个异常来简化异常处理。
Python 2 注释
在 Python 2 中,您可以选择在右括号后包含变量名称元组的,但它不是必需的,并且在 Python 3 中已弃用。相反,使用 'as' 将异常对象绑定到变量:
try: # Code that may fail except (IDontLikeYouException, YouAreBeingMeanException) as e: # Handle both exceptions
以上是如何在单个 Python ` except` 块中捕获多个异常?的详细内容。更多信息请关注PHP中文网其他相关文章!