在执行的程序中,难免会碰到因为一些原因如输入输出导致致命性错误产生的情况(如因为输入的文件名错误而导致无法运行相关的代码。)。此时你不希望程序直接挂掉,而是通过显示一些信息,使其平稳的结束。此时,就可以使用try,except和else这三个关键字来组成一个包容性很好的程序。
分别解释三个关键字:
try:执行可能会出错的试探性语句,即这里面的语句是可以导致致命性错误使得程序无法继续执行下去
except:如果try里面的语句无法正确执行,那么就执行except里面的语句,这里面可以是错误信息或者其他的可执行语句
else:如果try里面的语句可以正常执行,那么就执行else里面的语句(相当于程序没有碰到致命性错误)
我们通过一个实例程序来解释这三个关键字的用法:
#coding:gbk
"Module documentation"
#import
#variable
#class
#function if __name__ == '__main__':
fname = raw_input("Please input the file's name:")
print fname try: #尝试执行一个或多个语句
fobj = open(fname,"r") #尝试打开一个文件
except IOError, error: #如果无法执行"try"里面的语句,那么就执行except里面的语句 另外需要注意的是,"error"相当于是一个变量,用于存储错误信息的
#标准语句和相关信息。
print "*** file open error", error else: #如果try里面的语句成功执行,那么就执行else里面的语句
for eachline in fobj:
print eachline,
fobj.close() 假设try里面的语句无法正常执行,那么其输出结果为:
Please input the file's name:s
s
*** file open error [Errno 2] No such file or directory: 's'