我正在使用 libcurl 对网页进行 DL,然后我正在扫描它以获取数据并使用其中一个链接执行某些操作。但是,偶尔页面与我不同,除了因此我提取了错误数据并且 pycurl 抛出异常。我试图找到 pycurl 的异常名称,但没有成功。
有没有办法让回溯执行一个函数,这样我就可以转储文件,这样我就可以查看文件输入,看看我的代码是否出错了?
最佳答案
sys.excepthook可以在这里帮助你,在那里你可以设置一个全局异常处理程序。我不确定 pycurl 异常是如何处理的,它是一个绑定(bind)库,但它可能会重新分配给一个通用函数。像这样的东西:
>>> import sys
>>>
>>> def my_global_exception_handler(type, value, traceback):
... print traceback
... sys.exit()
...
>>> sys.excepthook = my_global_exception_handler
>>> raise
<traceback object at 0xb7cfcaa4>
这个异常 Hook 函数很容易成为一个实例方法,可以访问需要转储的文件。
关于python运行时错误,可以转储文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/550804/