gpt4 book ai didi

python - 谁在抛出(并捕获)这个 MySQL 异常?

转载 作者:太空狗 更新时间:2023-10-29 20:44:24 30 4
gpt4 key购买 nike

我将 Python 与 MySQL 和 Django 结合使用。我一直看到这个错误,但我无法弄清楚异常被抛出的位置:

Exception _mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you can't run this command now") in <bound method Cursor.__del__ of <MySQLdb.cursors.Cursor object at 0x20108150>> ignored

我的代码中有许多“try”和“exception” block ——如果其中一个发生异常,那么我会看到我自己的调试消息。上面的异常显然在某处被捕获,因为当异常被抛出时我的程序没有中止。

我很困惑,谁能帮帮我?

最佳答案

我确实遇到了那个错误(使用 MySQLdb 和 Django)并发现它被“忽略”的原因是它发生在 __del__ 方法中。 __del__ 中的异常被明确忽略: object.__del__ datamodel

似乎没有任何方法可以从堆栈的更上层捕获它(至少根据 this thread ),但您可以编辑 MySQLdb/cursors.py 或 monkey-patch 以获得您自己的 __del__ 在那里捕获异常并让您进入 pdb 提示符或记录完整的回溯。

关于python - 谁在抛出(并捕获)这个 MySQL 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2291714/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com