我正在将python与psycopg2一起使用。以下代码段会产生某种错误,但我无法获得任何输出,因此我无法处理错误
cur = conn.cursor()
try:
cur.execute("INSERT INTO mqtt.records(client, id_type, value) VALUES (%(str)s, %(int)s, %(float)s)", (topic[1], switchCase(topic[-1]), msg.payload)
except psycopg2.Error as e:
print(e)
conn.commit()
cur.close()
我很确定这是某种类型转换错误,但是except psycopg2.Error as e:
并没有抓住它。如果我使用通用except:
捕获任何异常,它将捕获。但是然后我不知道如何获得错误消息
答案 0 :(得分:0)
我使用except Exception as e:
收到消息“参数无法混合”,这使我发现... VALUES (%(str)s, %(int)s, %(float)s)
无效。
相反,我不得不在(str(topic[1]), int(switchCase(topic[-1])), float(msg.payload))
部分进行类型转换。
所以我基本上是误解了文档。对我感到羞耻。