下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

【Python 课堂】第36课—— 异常处理

作者:在线学习平台     来源: www.kokojia.com点击数:638发布时间: 2014-09-26 09:59:06

标签: 在线学习技能培训Python教程

大神带你学编程,欢迎选课
在程序运行时,如果我们的代码引发了错误,Python就会中断程序,并且输出错误提示。
 
比如我们写了一句:
 
print int('0.5')
 
运行后程序得到错误提示:
Traceback (most recent call last):
 File "C:/Python27/test.py", line 1, in
   print int('0.5')
ValueError: invalid literal for int() with base 10: '0.5'
 
意思是,在test.py这个文件,第1行,print int('0.5')这里,你拿了一个不是10进制能够表示的字符,我没法把它转成int值。
 
上面的错误可以避免,但在实际的应用中,有很多错误是开发者无法控制的,例如用户输入了一个不合规定的值,或者需要打开的文件不存在。这些情况被称作“异常”,一个好的程序需要能处理可能发生的异常,避免程序因此而中断。
 
例如我们去打开一个文件:
 
f = file('non-exist.txt')
print 'File opened!'
f.close()
 
假如这个文件因为某种原因并没有出现在应该出现的文件夹里,程序就会报错:
 
IOError: [Errno 2] No such file or directory: 'non-exist.txt'
 
程序在出错处中断,后面的print不会被执行。
 
在python中,可以使用try...except语句来处理异常。做法是,把可能引发异常的语句放在try-块中,把处理异常的语句放在except-块中。
 
把刚才那段代码放入try...except中:
 
try:
   f = file('non-exist.txt')
   print 'File opened!'
   f.close()
except:
   print 'File not exists.'
print 'Done'
 
当程序在try内部打开文件引发异常时,会跳过try中剩下的代码,直接跳转到except中的语句处理异常。于是输出了“File not exists.”。如果文件被顺利打开,则会输出“File opened!”,而不会去执行except中的语句。
 
但无论如何,整个程序不会中断,最后的“Done”都会被输出。
 
在try...except语句中,try中引发的异常就像是扔出了一只飞盘,而except就是一只灵敏的狗,总能准确地接住飞盘。
 
文章来源于Crossin,由课课家在线学习平台整理,转载请注明。
赞(11)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程