私はCでPythonモジュールを書いています。組み込みのPython例外では記述できないエラーを報告する必要があります。私は自分のタイプの例外をスローしたいと思っています。問題は、PythonポリシーがBaseExceptionクラスからすべての例外を派生させることです。私は派生型オブジェクト(tp_baseメンバに割り当てる)を作成する方法を知っていますが、BaseException型オブジェクトへの参照を取得する方法はわかりません。 PyExc_BaseExceptionはPyObjectへの参照であり、型オブジェクトではなくクラスを表します。CエクステンションでカスタムPython例外タイプを作成するには?
CコードからカスタムPython例外をスローするにはどうすればよいですか?
(new-style)クラスと型オブジェクトはPythonでは同じものなので、私はあなたの問題を理解していません。 –
Sven、私はPyExc_RuntimeErrorをキャストし、それを私自身のExceptionの基本型として使用しました。これまでのところ、何も悪いことはありませんでした(私は長期的な後のセグメンテーションは他の何かによって引き起こされると信じています)。私の質問に答えることができるので、私はあなたの答えを受け入れることができますか? – Basilevs