风雨封笙 2022-02-18 01:49 采纳率: 100%
浏览 23
已结题

关于try和except

try:
1+1==3
print("1")
except:
print("2")
像这个代码,结果是1,但这个try类型不应该是尝试块异常后执行执行块吗,也就是1+1==3这个肯定是错的,那不应该执行except后面的嘛,为啥还是执行try后面的
而且我改成这样:
try:
1+1==2
print("1")
except:
print("2")
1+1==2没有异常,输出1,不管我改成啥结果都是输出1,有人能解释一下吗,谢谢😊

  • 写回答

2条回答 默认 最新

  • 於黾 2022-02-18 08:29
    关注

    我想你大概不理解什么叫异常
    你说的错误,指的是逻辑错误,那对应的是值false
    而不管表达式的值是true还是false,这都只是值,不叫异常
    异常是语法错误、IO错误等
    比如你将None强制转为int型,或者网络通信中对方不在线,就会抛出异常

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月18日