如何防止Python在数据库连接失败时退出?

0 投票
1 回答
1201 浏览
提问于 2025-04-17 16:53

我一直在尝试写一个脚本,测试能否连接到某个mysql数据库。

如果能连接,就应该输出“OK”;如果不能连接,就应该输出“FAIL”,然后继续执行后面的操作。

当连接正常时,这个脚本运行得很好。

但是如果连接失败,脚本就会因为出错而退出。

_mysql_exceptions.OperationalError: (1045, "Access denied for user 'yoda'@'localhost' (using password: YES)")

这就影响了脚本继续执行后面的过程。

我这样调用它:

if not db.connect(UnivConf['DBHT'],UnivConf['DBUN'],UnivConf['DBPW'],UnivConf['DBDB'])

我该如何解决这个问题,让脚本在出错时继续运行,而不是退出呢?

1 个回答

4

试试这个链接,里面讲的是如何处理错误。

try:
    if not db.connect(UnivConf['DBHT'],UnivConf['DBUN'],UnivConf['DBPW'],UnivConf['DBDB'])
        # Do something

except _mysql_exceptions.OperationalError as e:
    print "Caught an exception : " + str(e.message)
    print "Something blah blah..."

finally:
    print "Done"

撰写回答