에러 처리에 관해 질문 있습니다.
192
작성한 질문수 28
1.
에러 처리 부분에서 질문 있습니다.
강좌중에 말씀하시,
app.use((req.res.next) =>{
res.status(404).send(‘Not Fount’); })
이 코드 대로라면, 라우터들이 실행되고, 마지막에는 결국 위의 라우터까지 도달하기 때문에,
무조건 ‘not fount’ 가 실행 되어야 하는 거 아닌가요? 미들웨어들은 순서대로 계속 실행되니까요.
그리고 위에, 404 자리에, 505나 다른 숫자들을 집어 넣으면 다른 에러들도 커버가 되는 건가요?
404에러를 커버하기 위해서는 위의 app.use가 404 에러를 디덱팅하는 방법이 있어야 하는데 위의 코드에서는 res.status, 즉 그냥 응답하라는 말만 있어서요.
또 위의 코드는 아래의 애러 핸들러와는 독립적으로 움직인다고 보면 되겠죠?
그러나 만약, next('Not Found')를 넣으면 이것도 아래의 애러 핸들러로 가는 거죠?
app.use(function(err, req, res, next){
res.status(500).send(‘Server Error’);
})
- http-errors(createError)를 사용 했들때(책에 나온 예제).
책에는서는 (페이지 197)
app.use(function(req, res, next){
next(createError(400));})
을 사용했을 경우에는 저기서 만들어진 에러 코드가 에러 헨들러로 보낸다고 나와 있습니다.
1번과 비슷한 질문인데, 위의 코드 상에서는 어떤 에러를 어떻게 디텍팅하는 거죠? 코드 상에서는 req, res, next 인데, req 인자를 사용한 것도 아니고, 바로 에러를 만들어서 쏴주는 거 같아서요.
혹시 위의 코드와는 상관 없이 무조건 적으로 에러들을 만들어 놓고 대기하고 있다가, 발생하면 디텍팅해서 "에러핸들러" 쪽으로 넘기는 코드 인가요?
항상 좋은 강좌 잘 보고 있습니다.
감사합니다.
답변 2
1
라우터에서 만약 next를 하지 않았다면 404 핸들러에 요청이 도달하지 않습니다. 404 핸들러에 요청이 도달하는 이유는 요청이 라우터에 아무것도 해당되지 않았기 때문입니다. 404 핸들러는 사실 에러 핸들러는 아니고 마지막 최종적으로 라우팅이 처리되는 곳입니다. if-elseif-else 문의 else같은 역할입니다. 여기서는 404에러 말고 다른 것을 응답해도 되지만 웹 표준 상 404를 응답하게 되어있습니다.
next(err)처럼 next 안에 에러를 넣어야 에러가 디텍팅되고 에러 처리 미들웨어로 바로 넘어갑니다. next(‘Not Found’)도 에러로 처리되고요. 실무에서는 에러 처리 미들웨어가 다음과 같은 식입니다.
app.use(function(err, req, res, next){
if (err.name === '무슨무슨에러') {
// 처리
} else if (err.name === '무슨에러') {
// 처리
} else {
res.status(500).send(‘Server Error’);
}
})
실제 서비스에서도 cluster를 사용하나요?
1
314
2
캐싱에 관하여
0
279
3
salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?
0
347
1
게시물 올리기 오류
0
408
1
캐슁 이후 로그인창
0
266
1
kakao passport 질문있습니다.
0
493
3
global객체 공유 질문드립니다.
1
418
1
서버가 죽어버리네요
0
1047
8
포링키 문제..
0
235
2
커넥션 플래시 설치문제
0
216
2
익스프레스 제너레이터? 설치문제
0
2586
6
redis 질문입니다.
0
305
1
9장 세션을 DB에 저장시 리다이렉션 오류 발생
0
874
8
프레임워크 선택에 관하여 질문이 있습니다.
0
300
3
시퀄라이즈 질문입니다 ! !
0
588
1
리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문
0
922
6
oAuth 질문입니다.
0
356
3
GCP 질문입니다.
0
366
1
Passport 모듈 로그인 구현관련
0
720
6
카카오 로그인 관련 질문입니다!!
0
606
4
스스로 해보기 10-16 nunjuncks 질문있습니다
0
499
5
제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.
0
317
2
gif채팅방 nunjucks관련 질문입니다!
0
338
3
현영님 몽고db관련 질문입니다.
0
233
3





