Eclipse & Pydev: как использовать исключения только в моем коде - PullRequest
3 голосов
/ 08 февраля 2012

В Pydev 2.2 добавлена ​​отличная функциональность, позволяющая разбивать исключения.

Моя проблема в том, что я получаю тонны исключений из библиотек Python еще до того, как доберусь до своего кода.

Есть ли способ настроить PyDev, чтобы он работал только на исключениях, возникших в моем коде?

Конкретно: я хочу разбить, когда возникает исключение, а не когда оно перехватывается

Заранее спасибо!

1 Ответ

6 голосов
/ 08 февраля 2012

[Изменить]

Обратите внимание, что в более новых версиях PyDev PyDev теперь поддерживает это в пользовательском интерфейсе: включите перспективу отладки и выберите PyDev> Manage Exception Breakpoints.

[Конец редактирования]

В пользовательском интерфейсе для этого нет ничего, но вы можете сделать следующее:

В eclipse / plugins / org.python.pydev.debug / pysrc / pydevd_frame.py отредактируйте метод handle_exception и сделайте в его первых строках что-то вроде:

def handle_exception(self, frame, event, arg):
    if 'my_module' not in self._args[1]:
        return
    ...
    ...

(self._args [1] - это имя файла, в котором было обнаружено захваченное исключение, поэтому вы можете использовать любую эвристику, основанную на том, где находится код, в котором вы хотите перехватывать исключения).

...