4 ms·
Can anyone explain why this pattern doesn't work? Or point me to some resource? function myApiFunc(callback) { /* * This pattern does NOT work!
by morghus 10y ago
Can anyone explain why this pattern doesn't work? Or point me to some resource?
function myApiFunc(callback)
{
/*
* This pattern does NOT work!
*/
try {
doSomeAsynchronousOperation(function (err) {
if (err)
throw (err);
/* continue as normal */
});
} catch (ex) {
callback(ex);
}
}
- mikevin 10y agoThere's a footnote about this: https://www.joyent.com/node-js/production/design/errors#fn:1 https://www.joyent.com/node-js/production/design/errors#fn:1
- morghus 10y agomuch obliged
- iotscale 10y agoTry/catch is not async and exceptions do not bubble up through the async context, which makes sense as the caller moved on with execution. Try this in your console: try { console.log("see, "); setTimeout(() => {throw new Error("oops")}, 100); console.log( "I can't assume here that" + " the prev. line succeeded" ); } catch(e) { console.log("error!"); }