Как бы вы реализовали различные типы ошибок, чтобы вы могли поймать конкретные и позволить другим пузыриться...?
Один из способов добиться этого - изменить прототип объекта Error
:
Error.prototype.sender = "";
function throwSpecificError()
{
var e = new Error();
e.sender = "specific";
throw e;
}
Ошибка конкретной ошибки:
try
{
throwSpecificError();
}
catch (e)
{
if (e.sender !== "specific") throw e;
// handle specific error
}
У вас есть альтернативы?