如何在Python中在一个 except 块中引发异常并在后面的 except 块中捕获它?

如何在Python中在一个 except 块中引发异常并在后面的 except 块中捕获它?

只有在 try 块中的单个 except 子句被调用。如果你想要异常在更高层被捕获,那么你需要使用嵌套的 try 块。

让我们写两个 try…except 块,像这样:

try:
    try:
        1/0
    except ArithmeticError as e:
        if str(e) == "Zero division":
            print ("thumbs up")
        else:
            raise
    except Exception as err:
        print ("thumbs down")
        raise err

我们得到以下输出

thumbs down
Traceback (most recent call last):
  File "C:/Users/TutorialsPoint1/~.py", line 11, in <module>
    raise err
  File "C:/Users/TutorialsPoint1/~.py", line 3, in <module>
    1/0
ZeroDivisionError: division by zero

根据python教程,每个 try 语句只有一个被捕获的异常。

阅读更多:Python 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程