Ich schreibe ein Python-Modul in C. Ich muss Fehler melden, die nicht durch eingebaute Python-Ausnahmen beschrieben werden können. Ich möchte daher Ausnahmen meines eigenen Typs auslösen. Das Problem besteht darin, dass die Python-Richtlinie alle Ausnahmen von der BaseException-Klasse ableiten soll. Ich weiß, wie man ein abgeleitetes Typobjekt anstellt (dem tp_base memeber zuweisend), aber ich weiß nicht, wie man einen Verweis auf BaseException Art Gegenstand erhält. PyExc_BaseException ist eine Referenz auf PyObject, die eine Klasse und kein Typobjekt darstellt.
Wie werfe ich benutzerdefinierte Python-Ausnahmen aus C-Code?
Die einfachste Methode zum Erstellen eines neuen Ausnahmetyps im C-Code besteht darin, PyErr_NewException
.