C++アプリケーションでv8を使用しようとしています。私はhelloworld自体に固執しています!
https://developers.google.com/v8/get_startedのhelloworldは問題なく機能します。今、私はコードの例外/エラーをキャッチしようとしています。そこで、TryCatchtrycatch;を使用しました。
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;
}
例外は正常にキャッチされますが、プログラムは正しく終了しません。セグメンテーション違反が発生します。私は何が間違っているのですか?