exception
下一次就是类了!这个日记系列终于要硬核起来了!
Exception Handling Flow-of-control
- Python程序中的正常“控制流”:在正常操作中,Python按顺序依次执行语句。对于三个构造,if语句,循环和函数调用,此顺序执行被中断。
- 异常处理控制流
对于if语句,仅执行几个语句块中的一个,然后控制流跳至if语句之后的第一个语句。
对于循环,到达循环末尾时,控制流会跳回到循环的开始,并使用测试来确定循环是否需要再次执行。如果循环完成,则控制流跳至循环后的第一条语句。
对于函数调用,控制流跳到被调用函数中的第一个语句,该函数被执行,并且控制流跳回到函数调用后的下一个语句。
你看到图案了吗?如果控制流不是纯粹顺序的,则总是在更改后的控制流之后立即执行第一条语句。这就是为什么我们可以说Python的控制流是顺序的。但是在某些情况下,这种顺序控制流效果不佳。
异常为我们提供了一种方式,使我们可以处理一些非常规的点,从而可以处理异常情况。
- 引发和捕捉错误
try / except控制结构提供了一种处理运行时错误并继续执行程序的方法。到目前为止,任何运行时错误(例如,要求仅包含3个项目的列表中的第8个项目或被0除)都导致程序执行停止。在浏览器的ActiveCode窗口中,会在下面的框中收到错误消息。当从命令行执行python程序时,还会收到一条错误消息,说明发生了什么错误以及发生在哪一行。遇到运行时错误后,python解释器不会尝试执行其余代码。您必须对代码进行一些更改,然后重新运行整个程序。
使用try / except,您可以告诉python解释器:
尝试执行代码块“ try”子句。
如果整个代码块执行时都没有任何运行时错误,则只需在try / except语句之后继续执行程序的其余部分。
如果在执行代码块的过程中确实发生了运行时错误:
跳过该代码块的其余部分(但不要退出整个程序)
在“ except”子句中执行代码块
然后在try / except语句之后继续执行程序的其余部分
尝试: