Skip to content

Exceptions on async functions

stvkoch edited this page Mar 12, 2013 · 2 revisions

Oque acontece quando queres tratar de uma exceção em um código async?

Um erro comum em tentar tratar error:

try{
	someAsyncFunctionThrowException(function(){
		//...
	});
}catch(err){
	
}

someAsyncFunctionThrowException nunca tratará da exceção. Quando o código async disparar uma exceção ela será tratada no callback que estiver correndo, se isso não acontecer o processo tratará dele.

Em node.js é disparado um evento 'uncaughtException' que podere ser observado:

process.on('uncaughtException', function (err) { 
	console.log(err); //shutdown averted!
});