专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
dbaplus社群  ·  这20种运维“危险操作”,为何反被工程师视为 ... ·  10 小时前  
运维  ·  阿里云核心域名被劫持 ·  昨天  
51好读  ›  专栏  ›  马哥Linux运维

只需9个步骤,完美实现自动化运维异常处理!

马哥Linux运维  · 公众号  · 运维  · 2017-09-01 08:00

正文

请到「今天看啥」查看全文


例如:

执行结果:

3.4 捕获异常try..except..else
注意:except子句的数量没有限制,但使用多个except子句捕获异常时,如果异常类之间具有继承关系,则子类应该写在前面,否则父类将会直接截获子类异常。放在后面的子类异常也就不会执行。
格式:


4 try的工作原理


执行一个try语句时,python解析器会在当前程序流的上下文中作标记,当出现异常后,程序流能够根据上下文的标记回到标记位,从而避免终止程序。
1. 如果try语句执行时发生异常,程序流跳回标记位,并向下匹配执行第一个与该异常匹配的except子句,异常处理完后,程序流就通过整个try语句(除非在处理异常时又引发新的异常)。
2. 如果没有找到与异常匹配的except子句(也可以不指定异常类型或指定同样异常类型Exception,来捕获所有异常),异常被递交到上层的try(若有try嵌套时),甚至会逐层向上提交异常给程序(逐层上升直到能找到匹配的except子句。实在没有找到时,将结束程序,并打印缺省的错误信息)。
3. 如果在try子句执行时没有发生异常,python将执行else语句后的语句(可选),然后控制流通过整个try语句。

执行结果:

嵌套try:

执行结果:

5







请到「今天看啥」查看全文