next(err) 로 next에 인자를 줬는데 바로 error처리 미들웨어로 안넘어갑니다ㅠㅠ
421
작성한 질문수 8
9강 실습하면서 page.js 라우터에
router.get('/test', (req, res) => {
const err = new Error('고의로 만든 에러!');
next(err);
});
이렇게 미들웨어를 추가해놨습니다. localhost:8001/test 에 접속을 시도하면 바로 에러처리를 하고싶었어요
근데 이렇게 접속시도하니까 app.js 에 있는 404 처리 미들웨어(req,res,next)를 들렀다가, 에러처리 미들웨어(err,req,res,neext)로 넘어가는데 이유를 모르겠습니다 ㅠㅠ
답변 1
1
404 들렀다가 에러 처리 미들웨어로 넘어간 것은 어떻게 파악하신 건가요? 에러 처리 미들웨어로 넘어간 뒤에 화면에 고의로 만든 에러! 라고 떴나요?
0
console.log 로 확인했습니다.
app.js 랑 page.js 일부 코드는 아래처럼 작성했습니다.
// app.js 미들웨어
app.use('/', pageRouter);
app.use((req, res, next) => {
console.log('여기 오나?');
next();
});
app.use((req, res, next) => {
console.log('404처리 미들웨어');
const error = new Error(`${req.method} ${req.url} 라우터가 없습니다.`);
error.status = 404;
next(error);
});
app.use((err, req, res, next) => {
res.locals.message = err.message;
res.locals.error = process.env.NODE_ENV !== 'production' ? err : {};
res.status(err.status || 500);
res.render('error');
});
//page.js 미들웨어 일부
router.get('/test', (req, res) => {
const err = new Error('고의로 만든 에러!');
next(err);
// res.json({'admin':'minsang', 'age':28});
});
제 예상엔 localhost:8001/test로 접속 시도하면, 먼저 app.get('/') 부분에서 pagerouter로 넘어가고, router.get('/test')미들웨어에서 next(error) 코드를 실행하면 app.get((err,req,res,next)) 부분으로 바로 넘어갈 줄 알았는데 콘솔은 아래와 같이 나왔습니다.
nodemon] starting `node app.js`
8001 번 포트에서 대기중
여기 오나?
404처리 미들웨어
GET /json 404 25.851 ms - 2692
GET /main.css 304 1.361 ms - -
리눅스 노드 설치시 패키지
0
172
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
925
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2297
2
a[title] 질문드립니다
0
386
1
리뉴얼 강의 및 공부 방법
0
589
1
jwt decode
0
1136
1
node.js 교과서 3판 질문드립니다
0
396
1
passport와 jwt
0
438
1
리뉴얼 강의
0
427
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
359
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
488
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
511
2
nunjucks res.render('error'); 작동을 안합니다.
0
518
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3542
1
수업자료는 어디있나요?
0
374
1
질문 있습니디
0
244
1
multer 사용시 file 외 name값은 못받나용?
0
428
1
코드 중복 부분 질문드립니다.
0
303
1
api 만드는 이유 질문드립니다.
0
292
1
Strategy의 done에 대해 질문드립니다.
0
373
1
안녕하세요 fs 권한 관련 질문드립니다
0
455
1
시퀄라이즈 연결질문...
0
510
2
res.setHeader vs res.cookie
0
1797
3





