Блок catch не обрабатывает "ERROR". Приложение завершается с ошибкой «Необработанная ошибка». Почему это происходит и как заставить это работать | справиться правильно?
function write() {
try {
rl.question('> ', (line: string) => {
throw "ERROR"
// caller(line)
});
} catch (e) {
console.log('local level')
console.log(`Error -> ${e}`);
}
}
try {
write();
} catch (e) {
console.log('global level')
}
Спасибо за любую помощь. С уважением.
PS Обновление
Мой код представляет собой синхронную цепочку функций. В основном это выглядит так:
function validateArg(arg) { if (!arg) throw "Missed arg" }
function caller(arg) {
validateArg(arg) // it should throw an error if no arg
...do some with arg
}
и внутри readline Я звоню. Я хочу прочитать данные, обработать их и предоставить некоторые результаты. Я хотел бы поймать ошибку, которая может появиться внутри кода и предотвратить сбой приложения. Я думал сделать это через глобальный tr-catch