鱼C论坛

 找回密码
 立即注册
查看: 956|回复: 4

[已解决]try-except语句

[复制链接]
发表于 2022-5-2 15:16:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

try:
    sum = 1 + '1'
    f = open('一个不存在的文档.txt')
    print(f.read())
    f.close()
except TypeError as reason:
    print('类型出错啦 \n错误的原因是:' + str(reason))
except OSError as reason:
    print('文件出错啦 \n错误的原因是:' + str(reason))


这里只会输出类型出错啦,后边的文件出错了不会输出
最佳答案
2022-5-2 15:19:52
本帖最后由 isdkz 于 2022-5-2 15:21 编辑

因为捕获到一个错误就不继续往下执行了,所以是不能同时捕获到两个错误的,

所以你要使用 两个 try:
try:
    sum = 1 + '1'
except TypeError as reason:
    print('类型出错啦 \n错误的原因是:' + str(reason))

try:
    f = open('一个不存在的文档.txt')
    print(f.read())
    f.close()
except OSError as reason:
    print('文件出错啦 \n错误的原因是:' + str(reason))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-2 15:19:52 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-5-2 15:21 编辑

因为捕获到一个错误就不继续往下执行了,所以是不能同时捕获到两个错误的,

所以你要使用 两个 try:
try:
    sum = 1 + '1'
except TypeError as reason:
    print('类型出错啦 \n错误的原因是:' + str(reason))

try:
    f = open('一个不存在的文档.txt')
    print(f.read())
    f.close()
except OSError as reason:
    print('文件出错啦 \n错误的原因是:' + str(reason))

评分

参与人数 1贡献 +3 收起 理由
python爱好者. + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-2 16:39:09 | 显示全部楼层
只会优先选择一个 except 作为异常处理,哪个错先发生就选哪个。一旦发现错误,try 语句就不再往下执行下面代码,直接寻找对应的 except 语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-2 17:05:53 | 显示全部楼层
谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-2 17:06:28 | 显示全部楼层
傻眼貓咪 发表于 2022-5-2 16:39
只会优先选择一个 except 作为异常处理,哪个错先发生就选哪个。一旦发现错误,try 语句就不再往下执行下面 ...

谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 12:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表