sqlalchemy中的自定义异常消息

时间:2019-08-23 21:19:39

标签: python sqlalchemy

当我遇到异常但我收到以下错误时,我试图引发自定义异常消息-

catchAny

错误:-

上述异常是以下异常的直接原因:

try:
   query_start_time = time.time()
   execute_sql_alchemy_query

except Exception as ex:
    elapsed_time = (time.time() - query_start_time)/60
    print(type(ex))
    raise type(ex)("Query elapsed time(in mins) - {0}".format(elapsed_time))

1 个答案:

答案 0 :(得分:0)

所引发的异常可能是DBAPIError(https://docs.sqlalchemy.org/en/13/core/exceptions.html#sqlalchemy.exc.DBAPIError)的子类,该子类在其构造函数中使用3个位置/强制性参数(语句,参数和orig),通过尝试像这样引发它,您仅提供了“陈述”,但没有其他2个论点。

您可能可以通过从初始异常中提供.params和.orig来使其正常工作,但是我不鼓励您这样做,因为它容易出错并且有点脆弱(如果不是异常,它将中断。一个DBAPIError),我建议您简单地将时间与错误分开记录(使用logging.warning)