РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpObEs 192 of 201 menu
◀ ▶

Ошибка в следе в Nest

Клиент получает код ошибки, а в журнале только общая строка: без связи с конкретным следом трудно восстановить цепочку шагов до сбоя и повторить ситуацию на стенде.

При включённом Observe непойманное исключение из контроллера или провайдера попадает в тот же след, что и успешный ответ. В дашборде видны тип ошибки, кадр источника и полное дерево вызовов. Если ошибку перехватывают и всё равно нужно зафиксировать её в следе, вызывают TracerService.captureError внутри активного контекста запроса.

Покажем на примере постов:

import { Injectable, NotFoundException } from '@nestjs/common'; @Injectable() export class PostService { getPosts(): string { throw new NotFoundException('No posts yet'); } }

Страница списка по-прежнему зовёт сервис. Ответ клиенту станет ошибкой, а в Observe тот же HTTP след получит отметку сбоя на узле PostService.

import { Controller, Get } from '@nestjs/common'; import { PostService } from './post.service.js'; @Controller() export class PostController { constructor(private postService: PostService) {} @Get('posts') getPosts(): string { return this.postService.getPosts(); } }

Сделайте так, чтобы WorkerService при пустом списке отдавал ошибку клиенту, и откройте след запроса в дашборде с отметкой сбоя.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить