文章内容
2019/3/4 18:04:40,作 者: 黄兵
MySQLdb 异常处理
程序在生产环境中运行,具体有没有异常,有没有什么问题,都需要及时了解。
生产环境中外部的多变,有一些是在编码过程中很难预料到的,所以需要通过异常捕获,来了解程序的运行状况。
在数据库保存数据当中,会产生很多异常:数据长度超限、网络异常、用户恶意提交、字符问题等都会产生异常。
为了捕捉在使用MySQLdb的过程中产生的一些异常与警告,通用代码如下:
# SQL 插入语句 sql = "INSERT INTO visit_time_line_original(time, ip, url,user_agent) \ VALUES (%s, \'%s\', '\%s\', '\%s\')" % \ (item, get_ip, get_url, get_user_agent) try: # 执行sql语句 cur.execute(sql) # 避免这个错误: Commands out of sync; you can't run this command now cur.close() # 提交到数据库执行 conn_mysql.commit() except (MySQLdb.Error, MySQLdb.Warning) as e: print(e) # 发生错误时回滚 conn_mysql.rollback()
将MySQLdb.Error
和MySQLdb.Warning
的异常信息传递给别名e
,之后打印出e
的信息。
当然也可以保存到数据库作为统一处理,在此处并没有这么做。
参考资料:
评论列表