[英]How to do Exception handling for mysql connection in python
我是python的新手,我想知道如何以適當的方式在python中進行異常處理。我想為db連接失敗引發異常。我也不想在try中包含所有代碼行我想引發連接失敗異常。該怎么辦?
try:
conn = MySQLdb.connect(host="mysql", user="root", passwd="password"
, db="database")
mycursor = conn.cursor()
query = "INSERT INTO table1(col1,col2,col3)VALUES(%s,%s,%s)"
val = (x,y,z)
mycursor.execute(query, val)
conn.commit()
conn.close()
print("Data inserted to db")
except Exception as ex:
print(ex)
conn = MySQLdb.connect(host="mysql", user="root", passwd="password"
, db="database")
mycursor = conn.cursor()
query = "INSERT INTO table1(col1,col2,col3)VALUES(%s,%s,%s)"
try:
mycursor.execute(query, val)
except MySQLdb.Error, e:
try:
print "MySQL Error [%d]: %s" % (e.args[0], e.args[1])
return None
except IndexError:
print "MySQL Error: %s" % str(e)
return None
except TypeError, e:
print(e)
return None
except ValueError, e:
print(e)
return None
finally:
mycursor.close()
conn.close()
就像是:
connected = False
try:
conn = MySQLdb.connect(host="mysql", user="root", passwd="password"
, db="database")
connected = True
except MySQLError as ex:
print(ex)
if connected:
mycursor = conn.cursor()
query = "INSERT INTO table1(col1,col2,col3)VALUES(%s,%s,%s)"
val = (x,y,z)
mycursor.execute(query, val)
conn.commit()
conn.close()
print("Data inserted to db")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.