【发布时间】:2009-12-02 05:50:48
【问题描述】:
我有一个用 Boost.Python 包装的 C++ 值类型,它有一个 NULL 值的概念。包装代码的相关部分如下所示:
class_<TCurrency> currency( "TCurrency" )
.def( init<long>() )
.def( init<const std::string&>() )
<...>;
目前,尝试通过将 None 传递给 __init__() 方法在 Python 中创建 NULL 实例会导致接受 const 字符串引用的 C++ ctor 以无效引用被调用。 (&arg == NULL)
是否可以捕获None 被传递给构造函数的情况并优雅地处理它,或者至少在我的程序崩溃之前抛出一个有意义的异常?
使用 Boost 1.36 和 Python 2.6.2。
【问题讨论】:
标签: python crash boost-python