except中的con不会报错?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,不会是死循环的,[con.rollback()]语句必须是con=mysql.connector.connect(....)语句执行成功才有可能会执行[con.rollback()],如果执行失败就会执行print(e)语句,[con.rollback]是如图,红框中语句异常会执行[con.rollback]语句,con.rollback会让数据回滚到,没操作数据之前,然后再执行print(e)输出异常信息,所以不会是死循环

http://img1.sycdn.imooc.com//climg/5f7d64c70985b02e05540366.jpg

祝学习愉快~

  • 慕python_SD三德 提问者 #1
    那为什么在接下来的课程中老师还要写 if con in dir(): con.rollback() 呢?
    2020-10-07 16:07:55
  • 同学你好,老师没有找到同学说的 if con in dir(): con.rollback() 请同学提供详细的课程章节,以及视频代码截图,祝学习愉快~
    2020-10-07 19:32:04
提问者 慕python_SD三德 2020-10-07 22:49:04

现在我学到实战的1-9来了

这里:

http://img1.sycdn.imooc.com//climg/5f7dd518099c9b3a09260482.jpg老师的源码里面也有:

http://img1.sycdn.imooc.com//climg/5f7dd55509e9f31209570686.jpg

  • 同学你好,同学没有理解异常的用法, 1、try 语句块中有错误出现异常就会执行except中的语句, except中(1)、要输出异常,即print(e) (2)、如果操作数据库没成功,实际需要插入两个表,但在插入一个表之后出现异常,所以要使用rollback 回滚到数据最初始状态,即已经插入数据的表,恢复到没插入数据时,这样数据就还是完整的,数据不会出现错误了 祝学习愉快~
    2020-10-08 19:17:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师