Python自学之路第十八步——异常
程序员文章站
2024-03-15 15:37:06
...
常在河边走哪有不湿鞋,就算是大牛也有犯错的时候,先来一个很基本的错误:
除数为零时将报错~~
但这画面太美我不敢看~~~优化一下,用try-except处理一下。。
是不是美观了不少……
我们把有可能出错的代码放到try中,except接受异常,然后做出响应……
当程序能够正常运行时我们把相应放到else中:
print('手动输入被除数和除数,当初数为零时报异常,输入q退出!')
while True:
fn=input('被除数为:')
if fn=='q':
break
sn=input('除数为:')
try:
anser=int(fn)/int(sn)
except ZeroDivisionError:
print('零不能做除数!')
else:
print(anser)
print('*************************')
效果如下:
当处理文件,尤其是多个文件时也可以,上代码:
def count_word(filename):
'''统计文件中的单词数量'''
try:
with open(filename) as fi:
con=fi.read()
except FileNotFoundError:
print('该文件不存在!')
else:
words=con.split()
count=len(words)
print('文件'+filename+'共有单词'+str(count)+'个~')
filenames=['file_test.txt','error.txt','english.txt']
for filename in filenames:
count_word(filename)
我们把统计单词的代码整合成一个函数,这样可以方便调用~~方法split()可以根据一个字符串创建一个单词列表,即分词~~它是以空格为分隔符进行切割的,我们整了两个文件file_test.txt和english.txt,里面有若干单词,文件error.txt并不存在,我们看看效果:
如果将except中的print语句改为pass,则遇到错误时程序将直接跳过,即默不作声地略过,这样也省得堵心。。
使用try-except处理语句的最大好处就是当其中一步出错时还能继续运行,如error.txt文件不存在时若不捕捉错误则会就此停止,不会继续处理english.txt文件。。
使用try-except处理语句的最大好处就是当其中一步出错时还能继续运行,如error.txt文件不存在时若不捕捉错误则会就此停止,不会继续处理english.txt文件。。
上一篇: String.format 的用法