내가 가지고 내가 일하고 있어요 오류 로깅 부분에서 작업 갇혀, 그리고 궁극적으로는 다음에 양도 실행 오류가 발생했습니다 '오류가 발생했습니다.'예외가 발생했습니다.이 메서드에서는 찾을 수 없지만 예외가 발생할 수 있습니다. 'PHP의 시도 캐치 마지막
catch() 블록의 코드를 실행하려면 어떻게해야합니까? 전혀 실행하지 않는 것 같습니다!
내가 가지고 내가 일하고 있어요 오류 로깅 부분에서 작업 갇혀, 그리고 궁극적으로는 다음에 양도 실행 오류가 발생했습니다 '오류가 발생했습니다.'예외가 발생했습니다.이 메서드에서는 찾을 수 없지만 예외가 발생할 수 있습니다. 'PHP의 시도 캐치 마지막
catch() 블록의 코드를 실행하려면 어떻게해야합니까? 전혀 실행하지 않는 것 같습니다!
PHP에서 정의되지 않은 함수를 호출하면 예외는 아니지만 치명적인 오류가 발생합니다.
따라서 Error
유형의 개체를 잡아야합니다. 또는 Error
및 Exception
클래스가 모두있는 Throwable
개체를 잡을 수 있습니다.
http://php.net/manual/en/language.errors.php7.php
<?php
$errorMsg = 'No Errors Detected';
try {
nonexistentfunction();
}
catch (Throwable $e) {
$errorMsg = 'Oh well, something went wrong';
}
finally{
$this->logger->log($errorMsg);
}
감사합니다. 존재하지 않는 함수인데,이 대답은 왜 catch가 작동하지 않는지에 대한 완전한 이해를 제공하므로 올바른 것으로 표시됩니다. –
당신이 사용하는 PHP 버전은 무엇? – fubar
네임 스페이스를 사용하고 있습니까? (none) 예외 ("Exception $ e) {' – ishegg
} @RahulBhatnagar는 'nonexistentfunction()'대신에이'throw new \ Exception ("사용자 정의 예외! ")를 사용하려고 시도합니다. –