0

我想设计一个 python 程序来处理其他程序中的异常,我也希望它能够访问 python 中的堆栈跟踪。我是 python 开发新手,但愿意学习,但我不知道从哪里开始。有人可以指出我可以遵循的方向/资源,并可能发展这些技能,特别是我应该学习什么来实现我的目标。

我想在 python 2.7 上开发这个

谢谢你的回复。

编辑: 通过处理异常,我只想知道发生了什么异常。就像在 Java 中使用 try catch 块一样,您可以在其中打印出堆栈跟踪并查看它是否是算术/数组越界错误

嗨,我也在想这条线上的东西,比如

  try

 (Execute python program here)  // ie import this program 

 except : 1st exception
 except : 2nd exception
 .
 .
 etc

我知道如何从文件中读取,但不确定这对于执行别人编写的程序是否正确?

4

2 回答 2

0

看一下回溯模块。它格式化和打印堆栈跟踪。您可以使用这是一个顶级异常处理程序。

import sys
import traceback

try:
    do_something()
except:
    ex, val, tb = sys.exc_info()
    traceback.print_exception(ex, val, tb)

Python 本身本质上是在任何未捕获的异常上执行此操作,然后退出。

于 2012-10-01T01:55:18.650 回答
0

我对你的问题有点困惑;如果您只运行其他 python 代码,这将是自动的。您不需要读取任何文件,只需导入您要使用的 python 模块并调用它们的函数即可。当这些抛出异常时,它们只会最终出现在您的代码中,您可以根据需要处理它们,当然要考虑有关异常处理的最佳实践。

有关 python 异常的快速教程,请看这里

于 2012-10-01T18:27:48.317 回答