Как правильно обрабатывать ошибки в сервисном слое nest.jsJavascript

Форум по Javascript
Ответить
Anonymous
 Как правильно обрабатывать ошибки в сервисном слое nest.js

Сообщение Anonymous »

Мы строим API с использованием nest.js и mikroorm, и у нас есть дебаты о нескольких вещах, связанных с сервисом «слой» nest.js. < /p>
Предположим, что у вас есть следующий метод обновления. существует. Если это не так, он возвращает нефундеррор < /p>
< /li>
[*] Второе, он проверяет, существует ли клиент. Если это не так, служба возвращает нефундартор.async update(
id: number,
updateProjectDto: UpdateProjectDto,
): Promise
{
try {
const project = await this.projectRepository.findOneOrFail(id);
if (updateProjectDto.client_id) {
project.client = await this.clientService.findOne(
updateProjectDto.client_id,
);
}

this.projectRepository.assign(project, updateProjectDto);
await this.projectRepository.getEntityManager().flush();
return project;
} catch (error) {
this.logger.error('Error updating project', error);
throw error;
}
}
< /code>
Вот наша FindOne в клиентах < /p>
async findOne(id: number) {
try {
return await this.clientsRepository.findOneOrFail({ id });
} catch (error) {
this.logger.error(`Error finding client`, error);
throw error;
}
}
< /code>
Наши вопросы следующие: < /p>
  • Когда мы должны обернуть нашу бизнес -логику внутри попытки уловить? /> < /li>
    Должен ли сервис бросить httpexceptions (с учетом его не «правильного» слоя для этого). Мы думаем, что можно бросить их сюда для простоты, но кто знает.
>

Подробнее здесь: https://stackoverflow.com/questions/795 ... vice-layer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»