我正在尝试在我的C ++应用程序中使用v8。我被困在了helloworld本身!
https://developers.google.com/v8/get_started的helloworld工作正常。现在我试图捕获代码中的异常/错误。所以我用了TryCatch trycatch;
int main(int argc, char *argv[]) {
HandleScope handle_scope;
Persistent<Context> context = Context::New();
Context::Scope context_scope(context);
TryCatch trycatch; /* TO CATCH EXCETIONS/ERRORS */
Handle<String> source = String::New("xyz();");
Handle<Script> script = Script::Compile(source);
Handle<Value> result = script->Run();
if (result.IsEmpty()) {
fprintf(stderr, "Exception: %s\n",
*String::AsciiValue(trycatch.Exception()));
return -1;
}
String::AsciiValue ascii(result);
printf("%s\n", *ascii);
context.Dispose();
return 0;
}
异常被捕获但程序没有正确终止。它会生成分段错误。我做错了什么?
答案 0 :(得分:0)
原来是一个愚蠢的事情。我早就安装了libv8-dev而忘了它。现在我从源代码安装了V8。所以我的系统上有两个版本的V8。我卸载了libv8-dev,问题已经解决了。