写Python代码过程中碰到各种错误异常要怎么样去处理?

错误异常

即便Python程序的语法是正确的,在程序运行的过程中,也可能发生错误。运行期检测到的错误被称为异常。

如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。

所以高级语言通常都内置了一套try...except...finally...的错误处理机制,Python也不例外。

异常处理

当我们某些代码可能会出错时,就可以用try来运行这段代码。如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except 语句块。执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。

try语句几种写法

try...except:try语句块没有错误继续执行,有错误就把异常抛出。

except语句块中Exception接受错误,取别名并打印出错误信息。

try...except...else:

try...except...else...finally:

try...except...except...else...finally:

错误有很多种类,如果发生了不同类型的错误,应该由不同的except语句块处理。没错,可以有多个except来捕获不同类型的错误。

多个except就好比多条小路,小孩走第一条路,老人走第二条路,成年人走第三条路。不同类型的错误都可以归类到一个except Exception as e:,把所有小路合并成一条大路,不分类别都走同一条路。

总结

对比

完整的try语句

简写的try语句

把多个except用except Exception as e:代替。

else语句在没有错误的情况下才会执行,所以else语句里面的代码可以放在try里面。

无论有没有错误,最后都会执行finally,程序代码是从上往下执行,所以把finally里面的代码提取出来直接放到try...except...语句后面也可以。

总之try语句里面没有错误就执行,有错误就跳到except语句中。

使用场景有很多网站都把网址http替换https,但是有些网页没有完全替换;请求它们的网址可以在try里面请求http开头的网址,有错误就用except请求https开头网址。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190106A00SF300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券