python - py的缺陷吗——try...except,except里只要有对应第一个try的错误就行了吗?也就是忽视了其他的try错
迷茫
迷茫 2017-04-18 10:18:58
0
1
746

一个try中可以能产生多个错误,所以可以一个try对应多个except

try:

f = open('我为什么是一个文件.txt')  #这个txt并不存在
print(f.read())
f.close()
sum=1+'1'      #文件类型出错

except TypeError as reason:

print('类型出错啦\n错误的原因是:'+str(reason))

except OSError as reason:

print('文件出错了\n错误的原因是:'+str(reason))

如果去掉这两行

except OSError as reason:

print('文件出错了\n错误的原因是:'+str(reason))

会报错

Traceback (most recent call last):
  File "E:/PyCharm 2016.3.2/untitled3/guessing/test01.py", line 2, in <module>
    f = open('我为什么是一个文件.txt')  #这个txt并不存在
FileNotFoundError: [Errno 2] No such file or directory: '我为什么是一个文件.txt'

而如果去掉

except TypeError as reason:

print('类型出错啦\n错误的原因是:'+str(reason))

则不会报错,也就是说忽视了sum=1+‘1’的错误,这个是缺陷吗还是什么,麻烦大咖 解释下

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(1)
迷茫

여기에는 두 가지 오류가 있습니다. OSError가 발생하면 다음 코드가 실행되지 않습니다. 즉, 실행되지 않습니다

으아아아

, 무시되지는 않지만 실행되지 않으므로 오류가 없습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿