2011-02-23 82 views
0

我想对某些文本做一些解析。我在我的程序体内使用了解析器的二进制版本,我使用call来运行这个解析器并逐个传递我的句子。但是,由于某些原因,语法分析器有时无法解析句子并产生错误。将它放入单词可能有点困难,它只是打印一些错误消息,但不会崩溃并正常结束。我的理解是在解析器本身中有某种异常处理,它不会崩溃。但是,我想跟踪这些有问题的句子。换句话说,如果解析器无法解析我想在文件中写入该句子的句子。我使用了正常的异常处理,就像我对所有的程序所做的那样,但是它似乎无法捕捉异常,因为异常已经在解析器程序中处理了。有谁知道我应该怎样捕捉这种外部异常? 谢谢Python中异常处理的特例

+0

这可能是更容易给出建议,如果你可以提供一些源代码。 – sarnold 2011-02-23 09:20:15

回答

0

检查返回码call。与正常/正确的执行相比,你遇到异常时有什么不同?如果你想获得例外,你可以使用check_call

另一种解决方案可能是使用check_output来调用解析器程序并检查输出。

文档的所有功能:Python subprocess module