自学Python编程【第三十四节】异常处理

欢迎大家来到自学Python编程教室,上边两讲我们学习了Python编程中的break(强制退出)和continue(中断本次循环,进入下次循环),你还记得吗?这一讲,我们学习异常处理的相关内容,相信大家都有碰到过异常束手无策的时候,看看今天是否可以给你些新的思路新的解决办法吧:

自学Python编程【第三十四节】异常处理

在程序运行时,如果我们的代码引发了错误,Python就会中断程序,并且输出错误提示。

比如我们写了一句:

print int('0.5')

运行后程序得到错误提示:

Traceback (most recent call last): 
File "C:/Python27/test.py", line 1, in <module>
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就是一只灵敏的狗,总能准确地接住飞盘。

恭喜您在Python自学的道路上又坚持了一天,今天所讲的异常处理,你学会了吗?

好啦,今天的分享到这里就结束了,希望大家能够持续关注马哥教育官网,每天都会有大量优质内容与大家分享!免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

相关新闻

联系我们

400-080-6560

在线咨询:

邮件:work@dyhjdp.com

工作时间:周一至周日,09:00-18:30

QR code
秒速时时彩 江苏快3 秒速时时彩官网 秒速时时彩平台 秒速时时彩官网 秒速时时彩官网 福利彩票北京赛车 秒速时时彩平台 北京赛车时间表 秒速时时彩开奖