2011-12-11 9 views
-4

나는 PHP 예외가 랩하는 추상 클래스가PHP 예외 사용자 정의 메시지

class UserException extends MyException 
{ 
    public function __toString() 
    { 
     return parent::getMessage(); 
    } 
} 

을 때 throw new UserException('User does not exist');

그 일을 오류가 발생 시도 내가 정의한 메시지를 보여줄뿐만 아니라 표시 :

Fatal error: Uncaught User does not exist thrown in \path\ClassTest.php on line 69

"치명적 오류 : 잡히지 않음 ..."부분을 제거하려면 어떻게합니까?

고마워요.

편집 :

나는 캐치되지 않는 예외를 무시합니다 set_exception_handler()를 사용하여 답을 찾았습니다. 그리고 콜백 함수를 제공 할 수 있습니다.

+0

게시 한 코드는 거의 부적절합니다. 너는 시도하고 붙잡는 것을 포함하고 있는가? 자세한 내용은 [여기] (http://www.w3schools.com/php/php_exception.asp)를 참조하십시오. 또한, 구글 오류 메시지. – Griffin

+1

시도해 보시거나 필요한 부분을 잡으시겠습니까? – craniumonempty

+0

당신은 _throwing_이지 _catching_하지 않으므로 _uncaught _...입니다. – Xaerxess

답변

0

예외는 try-catch 문 외부에서 발생하고 마지막으로 PHP 오류 처리기에서 catch하므로 "치명적인 오류"부분이 생성됩니다. 잡히지 않은 예외는 항상 치명적입니다. ->Linky

try{ 
    $foo->bar(); 
catch(UserException $ex){ 
    // Do something with the exception. 
} 

다른 방법으로 당신이 할 수있는 자신의 오류 처리기 : 같은 시도-catch 문으로 예외를 생성하는 코드를 둘러싼

보십시오.

그러나 try-catch 방식은 "올바른"방법입니다.