라이브러리의 특정 클래스에서 상속 된 클래스를 API 문서에서 지정하는 라이브러리를 사용하고 있습니다. 라이브러리 자체는 C++로 작성되었으며 Python에 대한 바인딩은 SWIG를 사용하여 생성됩니다. 문제는 파이썬이 어떤 예외를 던질지라도 파이썬 코드를 실행할 때 " 'Swig :: DirectorMethodException'인스턴스를 던진 후에 종료된다는 오류가 발생한다는 것입니다.SWIG : C++ 코드에서 파이썬 예외보고하기
내 프로그램을 실행하는 동안보고 될 Python 코드로이 예외를 발생시키고 싶습니다. Esp, 내가 ZeroDivisionError를 얻는 사례.
SWIG 설명서에 설명 된 방법을 따르고 (행운을 들이지 말고 http://www.swig.org/Doc2.0/Python.html#Python_nn36) 약간의 해킹을 시도했습니다. 나는 여전히 같은 메시지를 받는다. "module : i 파일에 무엇을 넣든간에 'Swig :: DirectorMethodException'의 인스턴스를 던진 후에 호출된다.
파이썬 예외가 그대로보고 될 수 있도록이 문제에 대해 알려줄 수있는 사람이 있습니까?
도움 주셔서 감사합니다. 나는 실제로이 문제를 고쳤으며 수정본은 여기에있다. https://github.com/madhusudancs/mesos/commit/93ed9f32d8752d687d6b6af6bcb6bfdf815f115d 아주 간단했으나 잘 설명되지 않았다. 또한이 프로젝트는 내 프로젝트가 아니므로 개발자는 boost :: python을 사용하도록 제안 할 수는 있습니다.하지만이 작업을 수행 할 수는 없습니다. –
SWIG가 필수적이라고 생각했습니다. 나는 나와 같은이 질문에 비틀 거리는 사람들에게 부스트 옵션을 남기기를 원했다. 그리고 이제 그들은 SWIG도 가지고 있습니다. – ginbot