exception.getStatus is not a function 에러가 자주 납니다.
693
39 asked
안녕하세요.
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도 맞는것같은데
어쩔때는 되고 어쩔때는 안되고 어떻게 해결해야할지 모르겠습니다.
저 이셉션이 무슨 함수를 가지고있는지 어떻게 조사해야할지 모르겠어서 질문남깁니다.
감사합니다.
Answer 2
0
감사합니다!
@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
283
1
가드의 장점에 대해서 질문이 있습니다.
0
224
1
로그 관리에 대해 질문 있습니다.
0
249
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

