Как создать собственный тип исключения Python в расширении C?

Я пишу модуль Python на C. Мне нужно сообщать об ошибках, которые не могут быть описаны встроенными исключениями Python. Поэтому я хочу выбросить исключения моего собственного типа. Проблема в том, что политика Python заключается в наследовании всех исключений из класса BaseException. Я знаю, как создать объект производного типа (присваивая элементу tp_base), но не знаю, как получить ссылку на объект типа BaseException. PyExc_BaseException - это ссылка на PyObject, представляющая класс, а не объект типа.

Как мне генерировать пользовательские исключения Python из кода C?

11
задан Mark Amery 3 November 2018 в 13:47
поделиться