如何组合两个Python Try异常

How to combine two Python Try Exceptions

本问题已经有最佳答案,请猛点这里访问。

我刚开始学习python-try,尽管我用python编写了一段时间。我使用了一些关于Python Try的示例,但对于当前的场景,我想知道是否可以组合两个Python Try异常。下面是两个单独的python try异常的示例

第一个:

1
2
3
4
try:
    df = pd.read_csv("test.csv")
except UnicodeDecodeError as error:
    print("UnicodeDEcodeErorr")

第二种:

1
2
3
4
try:
    df = pd.read_csv("test.csv", encoding ="ISO-8859-1")
except FileNotFoundError as fnf_error:
    print("File not found")

我可以将它们作为两个单独的尝试来保存,但我想知道是否有一种方法可以将它们组合在一起。


您可以组合它们并保留它们各自的,控制流除外:

1
2
3
4
5
6
try:
    df = pd.read_csv("test.csv", encoding ="ISO-8859-1")
except FileNotFoundError as fnf_error:
    print("File not found")
except UnicodeDecodeError as error:
    print("UnicodeDEcodeErorr")

或者,您可以将异常放在一个元组中并捕获多个异常:

1
2
3
4
try:
    df = pd.read_csv("test.csv", encoding ="ISO-8859-1")
except (FileNotFoundError, UnicodeDecodeError) as error:
    print("Do something else")

可以在元组中添加所需的异常数:

1
2
3
4
try:
    df = pd.read_csv("test.csv")
except (UnicodeDecodeError, FileNotFoundError) as error:
    print("UnicodeDEcodeErorr or FileNotFoundError")