我正在用C編寫Python模塊。我需要報告無法用內置Python異常來描述的錯誤。因此,我想拋出我自己的例外。問題是,Python策略是從BaseException類派生所有異常。我知道如何創建派生類型對象(分配給tp_base memeber),但我不知道如何獲得對BaseException類型對象的引用。 PyExc_BaseException是對PyObject的引用,代表一個類,而不是一個類型對象。如何在C擴展中創建自定義Python異常類型?
如何從C代碼中拋出自定義Python異常?
在Python中,一個(new-style)類和一個類型對象是相同的東西,所以我不明白你的問題。 –
Sven,我已經鑄造了PyExc_RuntimeError並將其用作我自己的Exception的基類型。到目前爲止沒有發生任何不良事件(我相信長期運行後的段錯誤是由其他原因造成的)。你能回答我的問題嗎,所以我可以接受你的回答? – Basilevs