本文讲述如何利用v8::TryCatch捕捉js代码中发生的异常。
首先,声明TryCatch对象。
v8::TryCatch trycatch( isolate );
然后,定义抛出异常的函数:
void ThrowException( const v8::FunctionCallbackInfo<v8::Value>& info ) {
v8::Isolate* isolate = info.GetIsolate();
v8::HandleScope scope( isolate );
v8::Local<v8::Value> exc = v8::Local<v8::Value>::New( info.GetIsolate(),
v8::Exception::Error( v8::String::NewFromUtf8( isolate, "throw an exception" ).ToLocalChecked() ) );
info.GetIsolate()->ThrowException( exc );
}
设置访问器访问C++函数:
v8::Local<v8::ObjectTemplate> global = v8::ObjectTemplate::New( isolate );
globa
本文介绍如何在JavaScript调用C++函数时捕获并处理异常。通过创建v8::TryCatch对象,定义抛出异常的C++函数,设置访问器并在执行JS文件后检查异常情况来实现。示例代码展示了如何从JS中调用异常并解析异常信息。
订阅专栏 解锁全文

986

被折叠的 条评论
为什么被折叠?



