NestJS句柄状态代码500和响应主体

NestJS句柄状态代码500和响应主体,nestjs,Nestjs,我知道NestJS会将所有与200-299不同的状态代码作为错误处理,我已经创建了自己的HttpExceptionFilter实现ExceptionFilter来处理错误 这就是我目前的情况。我的一个提供者正在向我发送状态代码为500的响应,以防值出错(不是真正的服务器错误),但在响应中会出现消息和描述 是否有一种方法可以捕获内联异常,而不将响应传输到我的异常过滤器 const options = { requestBody, headers: { Aut

我知道NestJS会将所有与200-299不同的状态代码作为错误处理,我已经创建了自己的
HttpExceptionFilter实现ExceptionFilter
来处理错误

这就是我目前的情况。我的一个提供者正在向我发送状态代码为500的响应,以防值出错(不是真正的服务器错误),但在响应中会出现消息和描述

是否有一种方法可以捕获
内联
异常,而不将响应传输到我的
异常过滤器

const options = {
      requestBody,
      headers: {
        Authorization: `Bearer 12345`,
        'Content-Type': 'text/plain',
      },
      data: requestBody,
    };


    const endpoint = http://myclientendpoint.com;

    try {
      const response = await this.httpService
        .post(endpoint, requestBody, options)
        .toPromise();
      if (
        response == null ||
        response == undefined ||
        response.data == null ||
        response.data == undefined
      ) {
        return null;
      }
      console.log(response.data);

      return await response.data;
    } catch (error) {
      console.log('>>> THIS IS TRIGGERED WITHOUT THE RESPONSE BODY');
      console.log(error);
      return null;
    }

可以添加一个
try catch
并使用以下内容获取正文内容:
error.response.data

例如:

try {
      const response = await this.httpService
        .post(endpoint, requestBody, options)
        .toPromise();
      if (
        response == null ||
        response == undefined ||
        response.data == null ||
        response.data == undefined
      ) {
        return null;
      }
      console.log(response.data); 

      return await response.data;
    } catch (error) {
      if (error.response.status === 500) {
        console.log('> TRYING TO HANDLED 500 status code');
        console.log(error.response.data);
        return error.response.data;
      }
      if (error.response.status === 403) {
        console.log('> TRYING TO HANDLED 403 status code');
        console.log(error.response.data);
        return error.response.data;
      }
      if (error.response.status === 505) {
        console.log('> TRYING TO HANDLED 505 status code');
        console.log(error.response.data);
        return error.response.data;
      }

      console.log(error);

      return null;
    }