Ich habe ein Problem mit Cython 0.17.1Propagierung von C++ Ausnahme Cython - Python Ausnahme
Meine Funktion ein std::runtime_error
wirft, wenn eine Datei nicht existiert, ich mag diese Ausnahme in irgendeiner Art und Weise zu verbreiten, um meinen Cython-Code.
void loadFile(const string &filename)
{
// some code, if filename doesn't exists
throw std::runtime_error(std::string("File doesn't exists"));
}
und von Cython nach rechts Verpackung der Funktion:
try:
loadFile(myfilename)
except RuntimeError:
print "Can't load file"
aber diese Ausnahme immer ignoriert wird, wie kann ich fangen C++ Ausnahmen von Python?
Haben Sie [ 'außer +' ] (http://docs.cython.org/src/userguide/wrapping_CPlusPlus.html#exceptions) in Ihrem 'cdef'? – user4815162342
ja, wahrscheinlich sollte ich noch mehr Code schreiben ... – linello
Sind Sie absolut sicher, dass die Ausnahme auf der C++ Seite geworfen wird? Sie könnten auch versuchen, 'except RuntimeError' durch' except Exception, e' und print 'e' zu ersetzen, um zu sehen, ob möglicherweise eine andere Python-Ausnahme ausgelöst wird. – user4815162342