try:
f=open('我为什么是一个文件.txt')
print(f.read())
f.close()
except OSError as reason:
print('文件出错了\n错误的原因是:'+str(reason))
文件出错了
错误的原因是:[Errno 2] No such file or directory: '我为什么是一个文件
如果不加as reason返回的就是
try:
f=open('我为什么是一个文件.txt')
print(f.read())
f.close()
except OSError: #ose要大写 才能有正确报错
print('文件出错了')
文件出错了
exceptOSErroras reason=>捕获OSError异常,并且赋值给reason,所以你在print('文件出错了\n错误的原因是:'+str(reason))就将是触发异常的原因拼接成一句完整的错误
回复 @awaken_:try...except就是为了捕获异常,因为你的代码已经产生OSError异常,所以被捕获了,执行except的语句就是说执行try没执行成功的话就执行except路径问题?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。