2012-06-28 4 views
4
foreach ($scripts as $script) {  
    $grader = Grader::getInstance(); 

    $grader->setApplicantId($script['applicant_id']) 
     ->setHandler($x) 
     ->doGrading(); 

} 

학년 클래스PHP - 오류 처리

내가 그것을 반환 $ 이것을 validateHandler 기능의 의미 현재 실행을 중지하도록는 handleError 함수를 작성하는 방법
public function setHandler($x) 
{ 
    $this->validateHandler($x); 
} 

public function validateHandler($x) 
{ 
    $this->handleError("Invalid Handler"); 

    return $this; 
} 

public function handleError($message) 
{ 

} 

에 도달되지 않습니다 (싱글 톤 클래스), 인쇄 화면에 오류 메시지가 나타나지만 for 루프가 실행을 멈추지 않습니까?

답변

3
foreach ($scripts as $script) {  
    try { 
     $grader = Grader::getInstance(); 

     $grader->setApplicantId($script['applicant_id']) 
      ->setHandler($x) 
      ->doGrading(); 
    } 
    catch ($e) { 
     echo 'Grading failed for applicant '.$script['applicant_id']; 
    } 
} 

... 

public function handleError($message) 
{ 
    throw new Exception('Unable to fruzz the bubar'); 
} 
+0

대단히 감사합니다 ..... 훌륭한 작품입니다. – kayfun