inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Clone coding Slack [Backend với NestJS + TypeORM]

Bộ lọc ngoại lệ

exception.getStatus is not a function 에러가 자주 납니다.

693

dyonglove

39 câu hỏi đã được viết

0

안녕하세요.

http-exception.filter.ts에서 에러가 자주납니다.

보면 항상 

============================

/Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/dist/main.js:3160

        const status = exception.getStatus();

                                 ^

 

TypeError: exception.getStatus is not a function

    at HttpExceptionFilter.catch (/Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/dist/main.js:3160:34)

    at ExceptionsHandler.invokeCustomFilters (/Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/node_modules/@nestjs/core/exceptions/exceptions-handler.js:33:26)

    at ExceptionsHandler.next (/Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/node_modules/@nestjs/core/exceptions/exceptions-handler.js:13:18)

    at /Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/node_modules/@nestjs/core/router/router-proxy.js:13:35

    at processTicksAndRejections (node:internal/process/task_queues:96:5)

==================

이런 에러가 나고요..

제가 강의를 단기간에 빨리 듣는게 아니라

오랜기간에 걸쳐 가끔씩 들어서 전에는 뭣때문에 이 에러가 났는지는 기억이 안나는데

그때는 씨드데이터가 없었나? 그래서 워크스페이스를 가져오면 널이니까 데이터를 못찾았다는 에러가 났나

그래서 에러를 던져주는데 그걸 저 필터에서 받아오면 항상 스테이터스를 제대로 못가져오고 백엔드서버가 터집니다.

<그때는 씨드데이터를 넣어서 에러가 안나게 만드는 방법으로 해결했습니다. 그 외에 중복회원가입 에러 테스트했을때는 안터지고 getStatus가 잘 동작했습니다.>

타입을 보면 HttpException이라서 항상 getStatus가 가능할것같은데 왜 터지는걸까요?

이번에는 워크스페이스 멤버를 가져오려고 했는데 exception콘솔로그 찍어보면

<아직 워크스페이스 멤버는 한명도 없는 상태,>

=============

ForbiddenException: Forbidden resource

    at canActivateFn (/Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/node_modules/@nestjs/core/router/router-execution-context.js:136:23)

    at runNextTicks (node:internal/process/task_queues:61:5)

    at processImmediate (node:internal/timers:437:9)

    at async /Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/node_modules/@nestjs/core/router/router-execution-context.js:42:31

    at async /Users/gzeromin/Desktop/workspace/공부/인프런/zerocho-slack/backend/node_modules/@nestjs/core/router/router-proxy.js:9:17 {

  response: {

    statusCode: 403,

    message: 'Forbidden resource',

    error: 'Forbidden'

  },

  status: 403

}

=========

이렇게 나와서 이셉션도 맞는것같은데

getStatus함수를 못쓰는것같습니다.

 

이셉션은 맞는것같고 HttpException도 맞는것같은데

어쩔때는 되고 어쩔때는 안되고 어떻게 해결해야할지 모르겠습니다.

저 이셉션이 무슨 함수를 가지고있는지 어떻게 조사해야할지 모르겠어서 질문남깁니다.

 

감사합니다.

nodejs express TypeORM NestJS

Câu trả lời 2

0

dyonglove

감사합니다! 

@Catch(HttpException) 이거 자체를 안썼었네요

검색해봤을때 비슷한 내용 본거같은데 캐치 타입에 되어있길래 한건줄 알았어요

항상 꼼꼼하게 본다고 해도 뭔가 조금씩 자꾸 틀리네요ㅜ

답변 감사드립니다.

0

zerocho

혹시 @Catch()로 인수가 비어있나요?

@Catch(HttpException) 해보세요.

강의자료는 어디서 다운받나요?

0

110

3

질문 있습니다.

0

293

3

코드 편집기 확장 프로그램

0

209

2

(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?

0

143

2

(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문

0

166

3

로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.

0

151

2

로그인방법이 고민됩니다.

0

190

2

yarn seed 명령어 실행 시 데이터 삽입 안됨

0

296

4

yarn run db:create 시에 발생하는 데코레이터 오류

0

242

2

npm run db:create 시에 발생하는 decorating 오류

0

231

2

RxJS 디버깅 질문 있습니다.

0

187

3

CacheManager에 대해 질문 있습니다.

0

173

2

로깅은 어떻게 하는게 효율적일까요?

0

222

1

CORS 질문 있습니다.

0

416

2

쿠키 옵션에 대해서 질문 있습니다.

0

184

2

로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??

0

446

1

401 unauthorized문제

0

284

1

가드의 장점에 대해서 질문이 있습니다.

0

224

1

로그 관리에 대해 질문 있습니다.

0

250

2

CORS 에러 질문 있습니다.

0

315

2

배포 환경 DB 연결 질문 있습니다.

0

408

2

socket io 미 연결 문제 (nest & flutter)

1

1146

3

no elements in sequence 에러 관해서 질문이 있습니다.

0

450

1

start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?

0

318

1