![Python从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/265/27563265/b_27563265.jpg)
上QQ阅读APP看书,第一时间看更新
6.8 程序的异常处理
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P103_43940.jpg?sign=1739279449-g2HTm6yYWmJTZgrMo8D0vmLAuGsZmTt3-0-14db1cb047b6fb84f314295617c16609)
程序的异常处理的写法和处理方式有以下三种。
(1)最简单最直接的处理方式:假定在写代码的时候,有时怕程序会出问题,就会在可能出问题的地方用上try exception来捕获程序出现的错误。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P103_78944.jpg?sign=1739279449-bjpgnV1M2llUR9NeQTNE10EAVd2gspUM-0-34b666223b4bc7f4f1d34567887c4dc5)
(2)在其中加个判断:在写一段程序的时候,想如果有异常就输出异常,如果没异常就继续执行下面的语句该怎么做呢?就要用到try exception else。例如:
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P103_78945.jpg?sign=1739279449-ttLKfXfgtUrwZijOVDVVdXg2CLp1oHfs-0-b18ae288093e9c05fb0c4648e0259e76)
输出的结果是success,因为上面的a = 1/2没有报错,它会执行else后面的语句,就像Python控制语句的if…else。如果上面的程序有异常就执行except后面的语句,输出异常;如果没有异常的话,就会执行else后面的语句。
(3)不管有没有异常都要执行:这个情况主要是如果你要操作什么东西,例如文件或者网络等,不管它是否发生异常最后都要关闭资源,例如关闭文件等。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P104_78947.jpg?sign=1739279449-lmEAHMc2OvYXwg6eh00g4I9Fe7Z1T3kQ-0-4666cdf37d4eec08b5a42e4062a76587)
上面假设在打开文件或者写内容的时候出错的话,会执行print e,接着会执行f.close()关闭文件,其实不一定是有异常才会执行finally后面的方法,就算语句没有出现异常的话,也会执行finally后面的语句。