MySQL连接器/ Python版本说明
这个异常的基类中的所有其他异常错误
模块。它可以用来捕获所有在一个单一的错误除了
声明。
下面的例子展示了如何抓住语法错误:
进口mysql。连接器试题:cnx = mysql.connector。数据库连接(用户=斯科特,=“员工”)光标= cnx.cursor()游标。执行(“SELECT *形式的员工”)#查询语法错误cnx.close除了mysql.connector ()。错误,犯错:打印(“错的东西:{}”.format (err))
初始化异常支持几个可选参数,即味精
,errno
,值
和sqlstate
。他们都是可选的,默认没有一个
。errors.Error
内部使用的连接器/ Python提高MySQL客户端和服务器应用程序所使用的错误和不应该提高异常。
下面的例子显示的结果,当不使用任何参数或参数的组合:
从mysql.connector > > >。错误import Error >>> str(Error()) 'Unknown error' >>> str(Error("Oops! There was an error.")) 'Oops! There was an error.' >>> str(Error(errno=2006)) '2006: MySQL server has gone away' >>> str(Error(errno=2002, values=('/tmp/mysql.sock', 2))) "2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" >>> str(Error(errno=1146, sqlstate='42S02', msg="Table 'test.spam' doesn't exist")) "1146 (42S02): Table 'test.spam' doesn't exist"
时使用错误编号为1146的例子是使用连接器/ Python从MySQL服务器接收到一个错误数据包。信息解析并传递到错误
异常如图所示。
每个异常的子类化错误
可以使用前面提到的初始化参数。此外,每个实例的属性errno
,味精
和sqlstate
可以在代码中使用。
下面的例子显示了如何处理错误当删除一个表(当不存在删除表
不包括一个声明如果存在
条款):
进口mysql。从mysql连接器。进口errorcode cnx = mysql.connector连接器。数据库连接(用户=斯科特,= '测试')光标= cnx.cursor()尝试:游标。执行除了mysql.connector(“垃圾邮件删除表”)。错误是错:如果犯错。errno = =错误代码。ER_BAD_TABLE_ERROR:打印(“垃圾邮件创建表”)其他:工资
前连接器/ Python 1.1.1,原始消息传递errors.Error ()
不是保存在这样一种方式,它可以被检索。相反,Error.msg
属性与错误数量和SQLSTATE值格式化。1.1.1,只保存在原始消息Error.msg
属性。格式化的值一起错误数量和SQLSTATE值可以通过印刷或错误对象的字符串表示。例子:
试题:康涅狄格州= mysql.connector。(数据库连接= " baddb”) mysql.connector除外。误差e:打印“错误代码:“e。errno# error number print "SQLSTATE value:", e.sqlstate # SQLSTATE value print "Error message:", e.msg # error message print "Error:", e # errno, sqlstate, msg values s = str(e) print "Error:", s # errno, sqlstate, msg values
errors.Error
是Python的一个子类StandardError
。