mam problem z Cython 0.17.1Propagowanie C++ wyjątek Cython - python wyjątek
Moja funkcja rzuca std::runtime_error
jeśli plik nie istnieje, chciałbym propagować ten wyjątek w jakiś sposób do mojego Kod Cython.
void loadFile(const string &filename)
{
// some code, if filename doesn't exists
throw std::runtime_error(std::string("File doesn't exists"));
}
iz Cython po prawej owijania funkcji:
try:
loadFile(myfilename)
except RuntimeError:
print "Can't load file"
ale ten wyjątek jest zawsze ignorowane, jak mogę złapać C++ wyjątki od Pythona?
Użyłeś [ 'wyjątkiem +' ] (http://docs.cython.org/src/userguide/wrapping_CPlusPlus.html#exceptions) w twoim 'cdef'? – user4815162342
tak, prawdopodobnie powinienem opublikować trochę więcej kodu ... – linello
Czy jesteś absolutnie pewien, że wyjątek został zgłoszony po stronie C++? Możesz także spróbować zastąpić 'except RuntimeError'' z wyjątkiem Exception, e' i print 'e', aby zobaczyć, czy może jakiś inny wyjątek Pythona został podniesiony. – user4815162342