SailsJS에서 응용 프로그램을 만들고 있습니다. DB 관련 쿼리에서 오류가 발생하면 typeError 또는 500 오류와 같은 오류가 발생합니다. MongoDB를 사용하고 있습니다. 서버 측에서이 오류를 catch 할 수있는 방법이 있습니까?SailsJS의 서버 오류 처리
이제 이러한 오류로 인해 서버가 손상됩니다. 그리고 서버가 멈 춥니 다. 서버를 다시 시작해야합니다.
이 문제를 해결하는 데 도움을주십시오. 미리 감사드립니다.
SailsJS에서 응용 프로그램을 만들고 있습니다. DB 관련 쿼리에서 오류가 발생하면 typeError 또는 500 오류와 같은 오류가 발생합니다. MongoDB를 사용하고 있습니다. 서버 측에서이 오류를 catch 할 수있는 방법이 있습니까?SailsJS의 서버 오류 처리
이제 이러한 오류로 인해 서버가 손상됩니다. 그리고 서버가 멈 춥니 다. 서버를 다시 시작해야합니다.
이 문제를 해결하는 데 도움을주십시오. 미리 감사드립니다.
대부분의 흘수선에서 예외가 발생하고 있습니다. 여기에 해결하는 몇 가지 코드 : 당신은, 전체 응용 프로그램에서 app.js에 을 모든 글로벌 오류를 잡으려고 노력하는 경우
controlleAction:function(req,res){
var invalidParams = {};//whatever's causing the error
Model
.create(invalidParams)
.exec(function(err,created){
if(err) res.json(err);
res.json(created);
});
}
당신도 약속 구문
controlleAction:function(req,res){
var invalidParams = {};//whatever's causing the error
Model
.create(invalidParams)
.then(function(created){
res.json(created);
})
.catch(function(err){
res.json(err);
});
}
을 사용할 수 있습니다,
// Start server
sails.lift(rc('sails'));
서라운드과 같이 시도 캐치 블록 라인 :
과 같은 라인이있다3210try{
// Start server
sails.lift(rc('sails'));
}catch(e){
console.dir(e);
}
주의가하십시오 : 오류가있는 경우이 오류가있는 하나는 생성 된 객체와 다른 두 개의 응답을 보내려고하기 때문
controlleAction:function(req,res){
var invalidParams = {};//whatever's causing the error
Model
.create(invalidParams)
.exec(function(err,created){
// return res.json()
if(err) return res.json(err);
return res.json(created);
});
}
// The difference is in the return
if(err) return res.json(err);
는 반환하지 않고, 서버가 충돌합니다 .
당신이 다음 처리기에 오류를 전달할 수 있습니다 0.10.x 돛을 사용하는 경우 : 나도 같은 코드를 준
controlleAction:function(req,res, next){
var invalidParams = {};//whatever's causing the error
Model
.create(invalidParams)
.exec(function(err,created){
if(err) return next(err);
return res.json(created);
});
}
그리고 프로세스 오류
이 방법을 시도하면 모든 서비스와 컨트롤러에서 올바르게 제공해야합니다. 내가 애플 리케이션, js에서 나는 단지 하나의 처리기를 줄 수있는 몇 가지 방법을 얻을 수 있습니다. – DivyaMenon
비동기 작업의 결과로 콜백에 오류가 발생하면 처리 할 어딘가에 전달해야합니다 (이 경우 "다음"). "throw"의 결과로 "동기"오류가 있으면 "serverError"로 전달됩니다 "응답. – Zuker
"Custom Responses"에 있습니다. 그것은 실제로 일하고 있습니다. 하지만 서버에서 발생하는 모든 오류를 처리하는 일반적인 방법이 있는지 알고 싶습니다. 모델이 DB에 없거나 일부 코드가 잘못되어있는 것처럼 서버는 실행을 멈 춥니 다. 어떻게 든 던져진 오류를 잡을 수 있습니까? – DivyaMenon
수정 된 답변을 확인하십시오. – aclave1
나는 이것을 시험해 보았다. 작동하고있어. 그러나 프런트 엔드에 응답이 보내지지 않습니다. 로드 중입니다. 여기에 요청 및 응답 객체를 가져올 수 있습니까? – DivyaMenon