如何根据收到的错误消息更新数据库?
How to update database according to the error message I get?
我有一个 python 脚本和一个数据库。他们是相连的。当输入错误时,python 脚本会引发一些错误。例如,其中一个函数是统计类。如果少于 2 类,则会引发 OneClassError 并终止程序。还有其他自定义错误,例如 OneClassError。
我的数据库 table 中有一列名为 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()
由于您有自定义错误,您可以在自定义错误 class 本身中提及您的错误代码。
示例:
class OneClassError(Exception):
code = 401
def __init__(self):
pass
#remaining logic
try:
#code that may cause Exception OneClassError
except OneClassError as e:
print(e.code)
我希望我理解你的查询并回答正确,如果有任何问题请在评论部分提问。
我有一个 python 脚本和一个数据库。他们是相连的。当输入错误时,python 脚本会引发一些错误。例如,其中一个函数是统计类。如果少于 2 类,则会引发 OneClassError 并终止程序。还有其他自定义错误,例如 OneClassError。
我的数据库 table 中有一列名为 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()
由于您有自定义错误,您可以在自定义错误 class 本身中提及您的错误代码。
示例:
class OneClassError(Exception):
code = 401
def __init__(self):
pass
#remaining logic
try:
#code that may cause Exception OneClassError
except OneClassError as e:
print(e.code)
我希望我理解你的查询并回答正确,如果有任何问题请在评论部分提问。