Добрый день, начал замечать что у меня очень много шаблонного кода, особенно в middlewares Express.
const getUser = async (id) => {
try {
const response = await fetch(`/users/${id}`);
const user = response.json();
// делать что-то с user
} catch(err) {
console.error(err); // к примеру просто в консоль
}
};
Стоит ли автоматически оборачивать "полезный" код в try catch ?
Что-нибудь типа Декоратораconst tryCatchDecorator = (fn) => {
return (...args) => {
try {
fn(...args);
} catch(err) {
console.error(err.message);
}
};
};
Или этогоconst tryCatchWrapper = (callback) => {
try {
callback();
} catch(err) {
console.error(err);
}
};
const getUser = async (id) => {
const response = await fetch(`/users/${id}`);
const user = response.json();
// делать что-то с user
};
const getUserWithTryCatch = tryCatchDecorator(getUser); // Первый способ
const getUserWithTryCatch = tryCatchWrapper((id) => getUser(id)); // Второй способ
getUserWithTryCatch(1);
tryCatchWrapper(getUser(1));
Почему ?
P.S. Речь идет только о шаблонных try/catch