【发布时间】:2021-12-26 19:57:03
【问题描述】:
我有一个 python 脚本和一个数据库。它们是相连的。当输入错误时,python 脚本会引发一些错误。例如,其中一项功能是对类别进行计数。如果少于 2 个类,则会引发 OneClassError 并终止程序。还有其他自定义错误,例如 OneClassError。
我的数据库表中有一个名为 error_code 的列。它应该根据我得到的具体错误进行更新。例如,如果是 OneClassError,则应该是 401;如果是 TestClassMsg,它应该是 402。 (为了便于说明,我在此编造错误名称。)
目前,我只知道如何用单个值更新该列。 我想知道如何自动化处理有 401 和 402 的过程,我不需要指定 401 或 402 - error_code 识别错误并知道它的代码。
# here is my simplified example:
def count_class_sim(inp_data):
"""
:param inp_data: the path of the input data
:return: pass or fail
"""
unique_cc, count_cc = np.unique(inp_data[inp_data != 0], return_counts=True)
if len(unique_cc) < 2:
raise OneClassError()
else:
raise TestClassMsg()
data1 = np.array([0,0,1,2,3,3,4,5,5,5])
count_class_sim(data1) # ---- TestClassMsg: TestingTesting
data2 = np.array([0,0,1])
count_class_sim(data2) # ---- OneClassError: Data has only 1 non-zero class - rejected.
这是我的数据库连接代码。请注意,我只知道如何为 error_code 赋予单个值。我想要一种复杂的方法来做到这一点。 谁能告诉我如何修改“set error_code =”命令?
try:
count_class_sim(data2)
except:
cur.execute("""update lc_2020 set error_code = 401
where quad_id = '010059' """)
conn.commit()
【问题讨论】:
标签: python sql database postgresql error-handling