Methods not returning after throwing Javascript exception
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 38/100
調査の方向性
Start in 6_object_wrap_example/node-addon-api/myobject.cc, especially the constructor path around line 28, and reproduce the no-argument call. Check the node-addon-api exception-handling guidance, then ensure the example stops after ThrowAsJavaScriptException so the documented error is preserved and the unwrapping case does not continue into a segmentation fault.
索引モデルが issue の本文から書いたものです。
説明
In the "6_object_wrap_example/node-addon-api", I tried to test what would happen when calling the constructor without arguments and I noticed that the actual exception thrown ("A number was expected") is different from the one in the code ("Number expected").
According to node-addon-api docs, when C++ exceptions are disabled you need to return immediately after calling ThrowAsJavaScriptException. So I would expect something like:
if (length <= 0 || !info[0].IsNumber()) {
Napi::TypeError::New(env, "Number expected").ThrowAsJavaScriptException();
return;
}
I think that the exception thrown is not the one from line 28 of myobject.cc, but another one thrown automatically when trying to convert the parameter to a number.
I tried to move one step further (following this tutorial) and unwrapping a Javascript object, and I get a segmentation fault when using the constructor without arguments because the code is not stopping after reaching the line with ThrowAsJavaScriptException.
- 主要言語
- C++
- スター
- 2.6k
- フォーク
- 598
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
nodejs/node-addon-examples のほかの issue
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
nodejs/node-addon-examples#585 · リアクション 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
nodejs/node-addon-examples#530 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
nodejs/node-addon-examples#445 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 32/100
nodejs/node-addon-examples#444 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
nodejs/node-addon-examples#381 ·
nodejs/node-addon-examples の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
cython/cython#8110 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ROCm/rocm-systems#14923 ·
メンテナーはふだん 2 日以内に返信
-
arrays asr pass bug ICE intrinsic medium priority
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
Area: World-Readiness
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
microsoft/calculator#2522 ·
-
missing `catch.hpp`オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
microsoft/inflatelib#34 · コメント 1 件 ·