同期エラーでは、次のようにエラー スコープをネストできます。
try {
try {
throw Error('e')
} catch(e) {
if(e.message !== 'f')
throw e
}
} catch(e) {
handleError(e)
}
これは私が期待する方法ですが、そうではありません(ドメインエラーハンドラー内のエラーが上部にスローされ、その間のドメインをスキップしているようです):
var domain = require('domain');
var dA = domain.create();
dA.on('error', function(err) {
console.log("dA: "+ err); // never happens
});
dA.run(function() {
var dB = domain.create();
dB.on('error', function(err) {
throw err
});
dB.run(function() {
setTimeout(function() {
console.log('dB')
throw 'moo'
},0)
});
});
これを正しく行う方法はありますか?