mapbox/node-cpp-skel

try/catch in HandleOKCallback

Aperta

#114 aperta il 4 apr 2018

 (0 commenti) (0 reazioni) (0 assegnatari)C++ (9 fork)auto 404
good first issue

Metriche repository

Star
 (74 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

We should add try/catch around code in the HandleOKCallback like https://github.com/mapbox/node-cpp-skel/blob/c3d13e76cfb1178c92bf8beca822da4aba8c28f7/src/object_async/hello_async.cpp#L179-L186. Otherwise down stream developers are likely to:

  • add new code to the HandleOKCallback
  • in many instances that code might throw
  • a throw will not be caught automatically and will instead crash the process with an abort

An example is https://github.com/mapbox/vtquery/issues/69 /cc @mapsam

We must protect against crashes like this, so I think its worth adding try/catch around the code in node-cpp-skel. Then users would be forced (due to the lack of coverage of the catch to think hard about whether an exception is possible.

Guida contributor