-
在连接到MySQL数据库的过程中,如果不有效的处理异常,则异常信息过于复杂,对于用户不太友好,且暴露敏感信息。所以,程序必须有效的处理和控制异常,按照既定的流程执行:
import pymysql
try:
conn=pymysql.connect(host='localhost',user='root',password='123456',database='lenarn',charset='utf8')
print("连接到数据库成功")
sql = "select username,password,role from user where userid<6"
sursor.execute(sql)
print("连接到数据库成功")
except:
print("连接到数据库失败")
-
更完整的异常处理:
# try...except...finally...
import pymysql
try:
conn=pymysql.connect(host='localhost',user='root',password='123456',database='lenarn',charset='utf8')
print("连接到数据库成功")
sql = "select username,password,role from user where userid<6"
sursor.execute(sql)
except:
print("连接到数据库失败")
finally:
conn.close() # 无论成功与否,本代码都会执行,数据库连接关闭
-
针对不同的异常,显示不同的错误提示
import pymysql
try:
conn=pymysql.connect(host='localhost',user='root',password='123456',database='lenarn',charset='utf8')
print("连接到数据库成功")
sql = "select username,password,role from user where userid<6"
sursor.execute(sql)
except pymysql.err.OperationalError as e:
print(e)
except pymysql.err.ProgrammingError as e:
print(e)
except Exception as e:
print("代码存在其他异常")
finally:
conn.close()
-
主动抛出异常,让程序停止
raise Exception("数据库处理出错")