异常处理

  • Python的异常处理机制

    ·

    程序在运行时难免会因为各种“意外因素”或程序本身的逻辑问题导致出错,严重时这将使程序彻底崩溃。解决这些问题常规的思路就是增加大量的逻辑判断语句来消灭种种可能引起问题的“意外因素”,但这无疑会使程序代码变得复杂而庞大,并且十分脆弱。有没有更好的解决办法呢?如果没有的话也不会有你看到的这篇文章了,哈哈哈~ 可以在错误(Python中称之为“异常”)产生时捕获异常,并按照给定的异常恢复代码尝试恢复异常。当然,如果你不捕获异常,那么当异常发生时,程序就必死无疑了。 先来看一个小程序。 给出一个文本文件“file.txt”,文件内容如下所示。要求:利用Python字符串的split()方法来分别获取每行字符串中”:”两边的字符,以第一行字符串为例,要求最终输出为此形式:aa said: aaa aa:aaa bb:bbb (ccc) dd:ddd ee:eee ff:fff:fff 编写程序如下。 file_data = open(‘file.txt’,’r’,encoding=’UTF-8′) #打开"file.txt"文件 for i in file_data: #利用for循环迭代读取"file.txt"文件的内容 (a,b) = i.split(‘:’,1) #利用字符串的split()方法,以":"为切割条件(只切割一次),对每行字符串进行分割操作,最后将生成的列表中的两个元素分别赋值给变量a、b。 print(a,end = ”) #输出变量a print(‘ said: ‘,end = ”) #输出字符串" said " print(b,end = ”) #输出变量b file_data.close() #关闭文件 看似程序的逻辑上是没有问题的,但是运行后会发现Python的解释器抛出了如下异常。 aa said: aaa #按照程序中预设的逻辑正确输出了处理后的字符串 bb said: bbb #正确输出 Traceback (most…

    Read More