![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=1739266165-HAzw80EqMLvAQow2IMNkwk4pBlMvZn0Q-0-2f597dfd2c3c69874a77e833406de449)
程序的异常处理的写法和处理方式有以下三种。
(1)最简单最直接的处理方式:假定在写代码的时候,有时怕程序会出问题,就会在可能出问题的地方用上try exception来捕获程序出现的错误。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P103_78944.jpg?sign=1739266165-DrVrZwSsqGFIEapPYfs8FZ8rwKZIYiQF-0-acadc88a0e0cfe1e0051053210e0afa7)
(2)在其中加个判断:在写一段程序的时候,想如果有异常就输出异常,如果没异常就继续执行下面的语句该怎么做呢?就要用到try exception else。例如:
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P103_78945.jpg?sign=1739266165-qWw54vLsDfR3zCU4UWcmyyUgh0jXCbbW-0-eca5fd4c393ed0a214869e3e02515851)
输出的结果是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=1739266165-MleM007PpD2cqvxW2S8IDVQanfRBBUCm-0-c542880ff55b6660f8b61ef84416593e)
上面假设在打开文件或者写内容的时候出错的话,会执行print e,接着会执行f.close()关闭文件,其实不一定是有异常才会执行finally后面的方法,就算语句没有出现异常的话,也会执行finally后面的语句。