2011-02-23 77 views
0

我想對某些文本做一些解析。我在我的程序體內使用瞭解析器的二進制版本,我使用call來運行這個解析器並逐個傳遞我的句子。但是,由於某些原因,語法分析器有時無法解析句子併產生錯誤。將它放入單詞可能有點困難,它只是打印一些錯誤消息,但不會崩潰並正常結束。我的理解是在解析器本身中有某種異常處理,它不會崩潰。但是,我想跟蹤這些有問題的句子。換句話說,如果解析器無法解析我想在文件中寫入該句子的句子。我使用了正常的異常處理,就像我對所有的程序所做的那樣,但是它似乎無法捕捉異常,因爲異常已經在解析器程序中處理了。有誰知道我應該怎樣捕捉這種外部異常? 謝謝Python中異常處理的特例

+0

這可能是更容易給出建議,如果你可以提供一些源代碼。 – sarnold 2011-02-23 09:20:15

回答

0

檢查返回碼call。與正常/正確的執行相比,你遇到異常時有什麼不同?如果你想獲得例外,你可以使用check_call

另一種解決方案可能是使用check_output來調用解析器程序並檢查輸出。

文檔的所有功能:Python subprocess module