错误异常即便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开头网址。