如何在Python中将SQL查询错误信息存入变量并用于条件判断?
捕获SQL错误并用于条件判断
在Python中执行SQL时,可通过try-except语句捕获异常,将错误信息存入变量后进行条件判断。针对你的场景,示例代码如下:
query = "ALTER DATASHARE table1 ADD TABLE table2;" error_msg = None try: cur.execute(query) except Exception as e: # 将错误信息转为字符串存入变量 error_msg = str(e) # 基于错误信息进行条件判断 if error_msg and "Relation table2 is already added to the datashare table1" in error_msg: print("表已添加到数据共享,无需重复操作") elif error_msg: print(f"执行SQL时发生其他错误: {error_msg}") else: print("SQL执行成功")
关键说明:
- 用
try-except包裹SQL执行代码,可捕获所有异常;若使用特定数据库(如PostgreSQL),也可指定对应异常类(比如psycopg2.Error)以缩小捕获范围 - 通过
str(e)将异常对象转为字符串,存入error_msg变量 - 后续通过
if判断error_msg是否存在,并检查特定错误文本,执行对应逻辑
内容的提问来源于stack exchange,提问作者Shivam Patel
相关产品推荐
相关产品推荐

