鱼C论坛

 找回密码
 立即注册
查看: 432|回复: 5

[已解决]关于异常的问题

[复制链接]
发表于 2018-8-1 05:58:30 | 显示全部楼层 |阅读模式

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

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

x
try :
    int('abc')
    sum = 1 + '1'
    f =open('我是一个不存在的文档.txt')
    print(f.read())
    f.close()
except(OSError,TypeError):
    print('出错了T_T\n错误的原因是: ' + str(reason))


这段带码我的运行结果是:
raceback (most recent call last):
  File "F:/小甲鱼课后习题/33.2.py", line 2, in <module>
    int('abc')
ValueError: invalid literal for int() with base 10: 'abc'

怎么不执行程序中的异常?????
最佳答案
2018-8-1 08:07:43
  1. try :
  2.     int('abc')
  3.     sum = 1 + '1'
  4.     f =open('我是一个不存在的文档.txt')
  5.     print(f.read())
  6.     f.close()
  7. except(OSError,TypeError,ValueError) as reason:
  8.     print('出错了T_T\n错误的原因是: ' + str(reason))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-1 08:07:43 | 显示全部楼层    本楼为最佳答案   
  1. try :
  2.     int('abc')
  3.     sum = 1 + '1'
  4.     f =open('我是一个不存在的文档.txt')
  5.     print(f.read())
  6.     f.close()
  7. except(OSError,TypeError,ValueError) as reason:
  8.     print('出错了T_T\n错误的原因是: ' + str(reason))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-1 08:08:17 | 显示全部楼层
本帖最后由 无符号整形 于 2018-8-1 08:12 编辑

因为那个except不处理ValueError,只处理OSError和TypeError。
你可以这样改:

  1. try :
  2.     int('abc')
  3.     sum = 1 + '1'
  4.     f =open('我是一个不存在的文档.txt')
  5.     print(f.read())
  6.     f.close()
  7. except(OSError,TypeError,ValueError as reason):
  8.     print('出错了T_T\n错误的原因是: ' + str(reason))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-1 08:32:40 | 显示全部楼层
你的except语句中没有处理ValeError的情况
可以偷懒这样写
except Exception as reason:
    #do something
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-1 10:29:40 | 显示全部楼层
因为没检测ValueError,except中应该加上ValueError
楼上的方法比较好,但会处理所有异常,比如用CTRL-C终端程序会被解释为KeyboardInterrupt异常
另外,楼上的方法可以直接:
  1. except:
  2.     #do something
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-1 20:33:04 | 显示全部楼层
谢谢所有回复的人 真的谢谢大家 最佳答案只能一个 大家说的都蛮好 我懂了!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 13:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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