다양한 IRC 채널에서 물어 보았지만 그 배후에 확실한 설명이있는 답을 얻을 수 없었습니다. 모델 (트랜잭션 실패와 같은 모델 관련)이 모델 또는 컨트롤러에서 처리되어야합니까?모델 또는 컨트롤러에서 오류 처리?
미리 도움을 청하십시오.
편집
음, 혼란 것은 (모델의) 내 코드는 이미이 같은 뭔가를 보이는 것입니다 :
try
{
// Connect to MongoDB
// Fetch a record
}
catch (MongoConnectionException $e)
{
// Handle this error
}
catch (MongoException $e)
{
// Handle this error
}
그래서, 나는 예외 MongoDB의 수익률에 따라 예외를 반환해야합니다
? 아니면 이러한 예외가 컨트롤러에 버블 링되도록 직접 허용해야합니까?감사합니다.
안녕하세요. 업데이트 된 질문에서이 접근 방법으로 직면 한 문제를 언급했습니다. 어떻게 처리해야하는지에 대한 귀하의 입장을 설명해 주시겠습니까? 감사합니다. –
연결 예를 예로 들어주십시오. 모델이 의미있는 행동을 취할 수 있습니까? 아마도 아니, 몽고 멀리 갔다. 모델에 구운 로그인 인프라가있는 경우 로그에 내용을 기록 할 수 있습니다. 그러나 이것이 고칠 수 없으므로 컨트롤러가 결국 잡을 새로운 예외를 던져야합니다. 모델이 할 일이 전혀 없다면 예외를 잡아 내지 말고 단지 컨트롤러까지 버블 링하십시오. – timdev
그 설명에 감사드립니다, 팀버님! 당신은 그것을 매우 분명하게 나타내고 당신의 결정 뒤에있는 논리를 설명합니다. 고맙습니다! :) –