c++ - 如何在 native 插件中创建 node.js 错误对象?

标签 c++ node.js v8

我想创建一个错误对象。但是没有 v8::Error::New() 如何创建错误对象?

    v8::Handle< v8::Value > result = v8::Undefined();
    v8::Handle< v8::Value > error = v8::Undefined();

    if(m_errorMsg.empty())
    {
        // Not error
    }
    else
    {
        // HERE: Instead of a string I want an error object.
        error = v8::String::New( m_errorMsg.c_str() );
    }

    v8::Handle< v8::Value > argv[] = { error, result };

    m_callback->Call(v8::Context::GetCurrent()->Global(), 2, argv);

最佳答案

实际上api被改变了。现在,你可以用这种方式抛出异常

...
Isolate* isolate = args.GetIsolate();
isolate->ThrowException(Exception::TypeError(
    String::NewFromUtf8(isolate, "Your error message")));
...

关于c++ - 如何在 native 插件中创建 node.js 错误对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17988639/

相关文章:

performance - 为什么一些分离的 DOM 与作为保留对象的原生 HTML 元素有未知的距离?

c++ - MFC 对话框返回 vector

c++ - zeromq 在 I/O 线程中引发异常

javascript - 每 5 分钟安排一次工作

node.js - 编写服务端实现RPC客户端Node.js

c++ - 我可以创建多少个 v8 isolate?

c++ - Dll 正在加载,但加载库给出了错误代码 5,GetProcAddress 也生成了相同的错误代码 5

c++ - 链接器声称该对象已定义

.net - 如何在 Ubuntu/Linux 中部署 Node.js 应用程序?

javascript - 在 V8 中集成 seb API(setTimeout、fetch 等)的最佳方式是什么