在 Python 中使用 try without except(忽略异常)

在 Python 中使用 try without except(忽略异常)

Using try without except (ignoring exceptions) in Python

使用该pass语句使用不带 except 的 try 块。pass
语句什么也不做,在语法上需要语句但程序不需要任何操作时使用。

主程序
my_list = [] # ✅ Ignore any exception try: print(my_list[100]) except: # 👇️ this runs pass

我们使用pass语句来忽略异常。

第一个示例中的语句except处理任何类型的异常。

块中的代码try可以引发任何异常,并且它会传递给except块。

主程序
my_list = [] # ✅ Ignore any exception try: # 👇️ raises ValueError my_list.remove(1000) except: # 👇️ this runs pass

pass
语句
什么都不做,当语法上需要语句但程序不需要任何操作时使用。

通常,使用except没有明确指定异常类型的语句被认为是一种不好的做法。

这主要是因为捕获任何错误都会使您的代码不那么直观且更难阅读。

只忽略特定的错误

另一种方法是将except块的范围限定为特定错误。

主程序
my_list = [] try: print(my_list[100]) except IndexError: # 👇️ this runs pass

except块仅处理IndexError异常。

如果引发任何其他类型的异常,该except块将不会处理它。

例如,以下代码ZeroDivisionErrortry块中引发 a 并使程序崩溃。

主程序
# ⛔️ ZeroDivisionError: division by zero try: print(25 / 0) except IndexError: pass

忽略多个特定错误

您还可以在一个块中指定多个异常类except

主程序
my_list = [] try: print(25 / 0) except (IndexError, ZeroDivisionError): # 👇️ this runs pass
except块运行是因为它处理块中引发的 ZeroDivisionErrortry

如果必须指定多个异常类,请确保将它们括在括号中。


您可以在文档的
异常层次结构列表中查看 Python 中的所有异常类