马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
程序总会出现各种各样意想不到的错误异常。
当出错时程序最好以内部方式自我消化解决掉,这样可以提高用户体验。
我们可以使用try语句来处理异常
try except语句:把需要检测的代码放入try语句范围内,然后把处理异常的代码放入except语句范围内。如果要显示出异常原因就在except后面加上as。
用法:try:
检测范围
except Exception[as reason]:
出现异常[Exception]后的处理代码
举例:
>>> try:
open('不存在的文件.txt')
except OSError as reason:
print('出错了,原因是:\n' + str(reason))
出错了,原因是:
[Errno 2] No such file or directory: '不存在的文件.txt'
try finally语句:如果在try范围内出现错误,则这个范围内异常地方后面的代码不会运行。如果不管有没有代码异常,想要执行某段代码,则要使用finally语句确保执行。
用法:try:
检测范围
except Exception[as reason]:
出现异常[Exception]后的处理代码
finally:
无论如何都会执行的代码
raise语句:要想主动引发异常,就需要用到raise语句。例如:>>> raise NameError
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
raise NameError
NameError
 
丰富的else语句和简洁的with语句
else语句和if语句搭配构成要么怎样,要么不怎样的句式;
else语句和循环搭配构成干完了能怎样,干不完就别想怎样的句式。即循环完成就执行,循环没有完成就不执行。
else语句和异常搭配构成没有问题就干吧的句式。即没有异常出现就执行,出现异常不执行。
with语句:用with可以自动关闭打开的文档,免去因异常导致的文件没有关闭。举例:try:
file = open('My_File.txt','wt') # 当前文件夹中并不存在"My_File.txt"这个文件T_T
file.write('写入成功')
int('哈哈')
except ValueError as reason:
print('出错啦:'+str(reason))
finally:
file.close()
可改写成这样,省去自己关闭文件的麻烦:try:
with open('My_File.txt','wt') as file:
file.write('写入成功')
int('哈哈')
except ValueError as reason:
print('出错啦:'+str(reason))
|