我有点卡在一些代码上。我必须使用getToto()
通常返回 a的方法的返回类型std::string
,但在一种情况下它会返回false
(它是我必须使用的库的一部分,我无法修改它)。我知道这相当于一个空指针。但是我找不到合适的方法来捕捉它!
测试.cpp
static std::string getToto(){
char buffer[1024];
if ( CTX_Get_Env(buffer, "Toto", 1024) )
return false;
return buffer;
}
如果我尝试
const char* returned = Test::getToto().c_str();
if (returned==NULL){
std::cout<< "null pointer"<<std::endl;
}
运行时出现错误
在抛出 'std::logic_error' 的实例后调用终止
what(): basic_string::_S_construct NULL 无效
抱歉,我的 C++ 水平相当低。