Особый случай обработки исключений в Python - PullRequest
0 голосов
/ 23 февраля 2011

Я пытаюсь выполнить анализ текста.У меня есть двоичная версия парсера в теле моей программы, я использую call, чтобы запустить этот парсер и передать мои предложения одно за другим.Однако по некоторым причинам иногда анализатор не может проанализировать предложение и генерирует ошибку. Это может быть немного сложно выразить словами, он просто печатает некоторые сообщения об ошибках, но не вылетает и завершается нормально.Насколько я понимаю, в самом синтаксическом анализаторе выполняется какая-то обработка исключений, которая не дает сбоя.Тем не менее, я хочу отслеживать эти проблемные предложения.Другими словами, если парсер не может разобрать предложение, я хочу записать это предложение в файл.Я использовал обычную обработку исключений, как и во всех моих программах, но кажется, что она не может поймать исключение, так как об исключении позаботились внутри программы синтаксического анализа.Кто-нибудь знает, как я должен ловить такого рода внешние исключения?спасибо

1 Ответ

0 голосов
/ 23 февраля 2011

Проверьте код возврата call. Отличается ли это, когда вы получаете исключение по сравнению с нормальным / правильным исполнением? Если вы хотите получить исключение, вы можете использовать check_call.

Другим решением может быть использование check_output для вызова программы синтаксического анализа и проверки выходных данных.

Документация для всех функций: Модуль подпроцесса Python

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...