在MySQLdb库中捕获错误

棘爪

为了防止服务器上的连接保持打开状态,这是我目前正在关闭mysqldb的游标和连接的操作,然后重新引发该错误:

import MySQLdb

conn = MySQLdb.connect(user="username", passwd="secret", db="database", charset='utf8')
cur = conn.cursor()

try:
    cur.execute("INSERT INTO testTable (userid) VALUES(%s);" % id)
    conn.commit()
except:
    cur.close()
    conn.close()
    raise
finally:
    print "Insert Successful"

有一个更好的方法吗?

注意:我知道WITH关键字可能会更好,但是我还没有找到任何文档说mysqldb支持WITH关键字来自动关闭连接。

先生

查看本教程

引用:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import MySQLdb as mdb

con = mdb.connect('localhost', 'testuser', 'test623', 'testdb');

with con:

    cur = con.cursor()
    cur.execute("DROP TABLE IF EXISTS Writers")
    cur.execute("CREATE TABLE Writers(Id INT PRIMARY KEY AUTO_INCREMENT, \
             Name VARCHAR(25))")
    cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python中的mysqldb错误

来自分类Dev

tcl中的捕获错误

来自分类Dev

Django中的“ No module name mysqldb”错误

来自分类Dev

Django中的“ No module name mysqldb”错误

来自分类Dev

Python 2.7中的MySQLdb错误处理

来自分类Dev

捕获单元测试库链接错误

来自分类Dev

JS Q库-延迟错误捕获

来自分类Dev

如何捕获PHP中第三方库引发的错误

来自分类Dev

如何捕获PHP中第三方库引发的错误

来自分类Dev

其余控制器中的存储库捕获错误“找不到构造函数的参数 1

来自分类Dev

ColdFusion 10中的错误捕获

来自分类常见问题

捕获Angular HttpClient中的错误

来自分类Dev

在for循环python中捕获错误

来自分类Dev

在Talend中捕获数据错误

来自分类Dev

在Angular中捕获模板错误

来自分类Dev

从Rails中的Cloudinary捕获错误

来自分类Dev

捕获SFTP脚本中的错误

来自分类Dev

尝试捕获Android中的错误

来自分类Dev

powershell中的错误捕获机制

来自分类Dev

在django-cms中获得“错误加载MySQLdb模块:没有名为MySQLdb的模块”

来自分类Dev

使用Laravel 5.2从库中捕获异常

来自分类Dev

从内部库中捕获设置超时?

来自分类Dev

库中的 generateReleaseBuildConfig 错误

来自分类Dev

mysqldb编程错误

来自分类Dev

MySQLDb上的名称错误

来自分类Dev

MySQLdb Executemany错误

来自分类Dev

reactjs尝试在渲染中捕获不捕获子级错误

来自分类Dev

MySQLdb错误:使用MySQL Workbench的“未知数据库Python”

来自分类Dev

MySQLdb错误:使用MySQL Workbench的“未知数据库Python”