如何捕获特定的pyodbc错误消息 [英] how to catch specific pyodbc error message
本文介绍了如何捕获特定的pyodbc错误消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试了以下代码,
import pyodbc
try:
pyodbc.connect('DRIVER={%s};SERVER=%s;DATABASE=%s;UID=%s;PWD=%s' % (driver, server, database, uid, password))
except pyodbc.Error, err:
logging.warn(err)
我得到的错误消息格式是
The error message format i get is
('HY000', "[HY000] [MySQL][ODBC 5.1 Driver]Access denied for user 'root'@'192.168.2.27' (using password: YES) (1045) (SQLDriverConnect)")
我只想接收错误的消息部分,即
I want to receive just the message part of the error i.e.
Access denied for user 'root'@'192.168.2.27'(using password: YES)
我不知道我是否可以捕获错误,例如找不到驱动程序,主机关闭等.
I dont know if I can catch errors specifically like, driver not found, host down etc..
我也尝试捕获错误,例如:
I also tried catching errors as:
except pyodbc.OperationalError, err:
logging.warn(err)
except pyodbc.DataError, err:
logging.warn(err)
except pyodbc.IntegrityError, err:
logging.warn(err)
except pyodbc.ProgrammingError, err:
logging.warn(err)
except pyodbc.NotSupportedError, err:
logging.warn(err)
except pyodbc.DatabaseError, err:
logging.warn(err)
except pyodbc.Error, err:
logging.warn(err)
但是最后一个总是捕获错误.
but the last one always catches the error.
此外,我还看到 pyodbc.Error.message 始终为空. 我如何只获取错误消息.
Fruthermore i saw the pyodbc.Error.message is always empty. How can i get just the message in the error.
谢谢
推荐答案
pyodbc似乎只是包装了基础ODBC实现中的错误/异常,因此您不太可能做到这一点.
pyodbc seems to just wrap the errors/exceptions from the underlying ODBC implementation, so it's unlikely that you will be able to do this.
这篇关于如何捕获特定的pyodbc错误消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文