Предположим, что у вас есть следующий метод обновления. существует. Если это не так, он возвращает нефундеррор < /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
Мобильная версия