如何结合两个Python Try异常

时间:2019-02-22 22:29:24

标签: python

即使我用Python编写程序已有一段时间,但我才刚刚开始学习Python Try Except。我玩过一些Python Try Except的示例,但是对于当前场景,我想知道是否可以组合两个Python Try Excepts。这是两个单独的Python Try Exceptions的示例

第一个:

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

第二个:

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

我可以将它们保留为两个单独的“尝试除外”,但我想知道是否存在将它们组合在一起的方法。

2 个答案:

答案 0 :(得分:5)

您可以将它们组合在一起并保留它们各自的控制流,除了:

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")

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

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

答案 1 :(得分:1)

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

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