如何捕获SQLAlchemy上的特定数据库错误

时间:2013-12-12 13:57:03

标签: python database python-3.x sqlalchemy

我想问一下SQLAlchemy中的引擎。

这是我的代码:

try:
    engine = create_engine('postgres://postgres:pass@localhost:5432/db')
    engine.connect()
except DatabaseError:
    print('Database Error : ', sys.exc_info()[1])

如何捕获“数据库不存在”或“密码/用户名错误”等特定错误的异常。

1 个答案:

答案 0 :(得分:1)

Python DBAPI没有针对这些内容的特定例外,因此您可以做的最好的事情是解析字符串:

try:
    # code
except DatabaseError, e:
    if "database does not exist" in str(e):
         # do something