经常出现在python中的错误和异常处理 Python 第1张

 

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

http://t.cn/A6Zvjdun

 

使用try except处理异常

经常出现在python中的错误和异常处理 Python 第2张

 

上面的代码中,被除数是0,会引发ZeroDivisionError,运行上面的代码:

经常出现在python中的错误和异常处理 Python 第3张

 

使用try except处理多个异常

如果一段代码可能跑出多个异常,try except也是可以处理的, 下面代码用来读取一个文件,并转换成整型输出

经常出现在python中的错误和异常处理 Python 第4张

 

如果文件不存在,会捕捉到下面异常:

经常出现在python中的错误和异常处理 Python 第5张

 

另外,如果读取的字符串不能转换成整型,则会捕捉到ValueError

经常出现在python中的错误和异常处理 Python 第6张

 

使用try-except-else捕获异常

经常出现在python中的错误和异常处理 Python 第7张

 

如果没有异常,执行else中的代码

经常出现在python中的错误和异常处理 Python 第8张

 

此时,执行效果如下:

经常出现在python中的错误和异常处理 Python 第9张

 

try-finally捕获异常

经常出现在python中的错误和异常处理 Python 第10张

 

上面的try–finally按照如下规则执行:

  • 如果try语句没有捕获错误,do_finally代码执行
  • 如果try语句捕获错误,程序首先执行do_finally语句,然后将捕获到的错误交给python解释器处理

上面的程序,当读取到非法字符串时候,此时转换成整型会出错,此时finally语句块先执行,然后,将异常交给python解释器处理

经常出现在python中的错误和异常处理 Python 第11张

 

使用try-except-else-finally

 

经常出现在python中的错误和异常处理 Python 第12张

 

上面的代码块会按照下面的规则来执行:

  • 若try语句没有捕获异常,执行完try代码段后,执行else代码段,最后执行finally
  • 若try捕获异常,首先执行except处理错误然后finally

with语句

经常出现在python中的错误和异常处理 Python 第13张

 

  • with语句用来代替try-except-finally语句
  • context表达式返回是一个对象
  • var用来保存context返回对象,单个返回值或者元组
  • with_code使用var变量来对context返回对象进行操
经常出现在python中的错误和异常处理 Python 第14张

 

  • 作此时运行效果如下:
经常出现在python中的错误和异常处理 Python 第15张

 

使用raise语句抛出异常

自定义异常

 

经常出现在python中的错误和异常处理 Python 第16张

 

此时运行会打印如下:

经常出现在python中的错误和异常处理 Python 第17张

 

 

 
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄