Дано:
- приложение на TypeScript / JavaScript, Node.js
- база данных (в моем случае SQLite 3, хотя неважно)
Делаю запрос к базе данных
SELECT * FROM companies WHERE id = ?
Если элемент с такое id существует в таблице то мне приходить объект, а если нет то приходит `undefined`.
Как будет правильно в таком случае:
- Каждый раз делать проверку на undefined. Т.e:
const company = await CompanyModel.getById(228);
if (!company) console.log('Такой компании не существует');
- Или выбросить какую-нибудь ошибку и обработать ее (как например 404 в вебе)
try {
const company = await CompanyModel.getById(228);
} catch (err) {
console.log('Что-то пошло не так!');
console.error(err); // хз какого типа Error, через какой инстанс его создать?
}
Я ближе ко второму варианту, как минимум потому что мне всегда придется обрабатывать ошибки любых запросов, так почему бы и не обработать `undefined`.
Так же, как аргумент использование null/undefined это очень плохо, как минимум это усложняет код (например вот пример с книги одного гуру по джаве
https://www.yegor256.com/2014/05/13/why-null-is-ba...)