我正在编写一个 nodejs C++ 模块,并且在我的 init 函数内部,我进行了一个可能失败的系统调用。在失败时,我希望它向解释器抛出一个异常来处理,而是得到一个段错误。如何获得正确的行为?
所以例如我有类似的东西:
//...
void Init(Handle<Object> target) {
if (my_setup_io()==FAIL_CODITION){
ThrowException(Exception::Error(
String::New("Could not init "))); //SEG fault instead of exception
}
target->Set(String::NewSymbol("myFunction"),
FunctionTemplate::New(myFunction)->GetFunction());
}
NODE_MODULE(example, Init)