通过try、except和else的使用来使Python程序更加“强壮”

在执行的程序中,难免会碰到因为一些原因如输入输出导致致命性错误产生的情况(如因为输入的文件名错误而导致无法运行相关的代码。)。此时你不希望程序直接挂掉,而是通过显示一些信息,使其平稳的结束。此时,就可以使用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'

原文地址:https://www.cnblogs.com/lordage/p/5722086.html