작성
·
571
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도 맞는것같은데
어쩔때는 되고 어쩔때는 안되고 어떻게 해결해야할지 모르겠습니다.
저 이셉션이 무슨 함수를 가지고있는지 어떻게 조사해야할지 모르겠어서 질문남깁니다.
감사합니다.