Cython:如何编写扩展类子类化“Exception”`

2024-05-16 06:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何编写一个扩展类来子类内置Exception类?在

我试过了

cdef extern from "Python.h" nogil:
    ctypedef class __builtin__.Exception [object PyExc_Exception]:
        pass

cdef class FUSEError(Exception):
    cdef public int errno

这可以很好地从.pyx编译到.c,但是编译.c文件将失败,并返回

^{2}$

我想这意味着PyExc_异常实际上并不是 C结构的异常-但它是什么? https://docs.python.org/3.6/c-api/exceptions.html#standard-exceptions 似乎很清楚地说这是PyExc_的例外。。在


Tags: fromobjectexceptionexternpass子类内置class