私は私の関数は、ファイルが存在しない場合、私は私にいくつかの方法で、この例外を伝播したいstd::runtime_error
をスローCython 0.17.1伝播C++ cythonする例外 - pythonの例外
に問題がありますCythonコード。
void loadFile(const string &filename)
{
// some code, if filename doesn't exists
throw std::runtime_error(std::string("File doesn't exists"));
}
と機能の右折り返し後Cythonから
:try:
loadFile(myfilename)
except RuntimeError:
print "Can't load file"
が、この例外は常に無視され、どのように私は、PythonからC++の例外をキャッチすることができますか?
あなたが '' +除き、[使用しましたを参照してください、
except +
として、あなたの関数を宣言あなたは約C++の例外処理をお読みください](http://docs.cython.org/src/userguide/wrapping_CPlusPlus.html#exceptions)をあなたの 'cdef'に入れますか? – user4815162342はい、おそらくもっとコードを投稿してください... – linello
C++側で例外がスローされたことは間違いありませんか?他のPython例外が発生しているかどうかを調べるには、例外を除いて 'Exception exceptions'を' RuntimeError'を置き換え、 'e'を出力することもできます。 – user4815162342