Нет смысла голым ловить и бросать, как вы показываете. Он не делает ничего полезного, кроме добавления кода и медленного выполнения. Итак, если вы собираетесь выполнить .catch()
повторную загрузку, в файле должно быть что-то, что вы хотите сделать, в .catch()
противном случае вам следует просто .catch()
полностью удалить файл.
Обычный момент для этой общей структуры - это когда вы хотите выполнить что-то, .catch()
например, зарегистрировать ошибку или очистить какое-то состояние (например, закрыть файлы), но вы хотите, чтобы цепочка обещаний продолжалась как отклоненная.
promise.then(function(result){
}).catch(function(error) {
console.log(error);
throw error;
});
В учебном пособии это может быть просто для того, чтобы показать людям, где они могут обнаруживать ошибки, или чтобы научить концепции обработки ошибки, а затем ее повторного выброса.
Вот некоторые из полезных причин для ловли и повторного заброса:
- Вы хотите зарегистрировать ошибку , но сохранить цепочку обещаний как отклоненную.
- Вы хотите превратить ошибку в другую ошибку (часто для упрощения обработки ошибок в конце цепочки). В этом случае вы бы повторно выдали другую ошибку.
- Вы хотите выполнить несколько операций, прежде чем цепочка обещаний продолжится (например, закрыть / освободить ресурсы), но вы хотите, чтобы цепочка обещаний оставалась отклоненной.
- Вам нужно место для размещения точки останова для отладчика в этой точке цепочки обещаний, если произойдет сбой.
Но простой перехват и повторное выполнение той же ошибки без другого кода в обработчике перехвата не делают ничего полезного для нормального выполнения кода.