PHP에서 정상 던져 캐치되지 않는 예외는 다음과 유사한 출력을 생성합니다 :PHP가 잡히지 않은 예외를 표시하는 방법을 재정의 할 수 있습니까?
Fatal error: Uncaught exception 'Exception' with message 'Insufficient permissions or something' in /home/codemonkey/foo/bar/File.php:143 Stack trace: #0 /home/codemonkey/dev/foo/bar/SomeOtherFile.php(85): foo\bar\File::fromUpload(Array) #1 /home/codemonkey/dev/foo/bar/OmniDataFileImport.php(35): foo\bar\OmniDataFileImport->performFileImportLogic() #2 [internal function]: foo\bar\OmniDataFileImport->post(Object(Request), false) #3 /home/codemonkey/dev/foo/vendor/tonic/lib/tonic.php(654): call_user_func_array(Array, Array) #4 /home/codemonkey/dev/foo/dispatch.php(22): Resource->exec(Object(Request)) #5 {main} thrown in /home/codemonkey/dev/foo/broadnet/files/File.php on line 143
메시지와 스택 추적이 멋지다,하지만 난 정말 자세한 내용 싶습니다. 이러한 이유로 나는 지역 변수와 그 값과 같은 더 많은 정보로 Exception을 확장하고자한다. 문제는 PHP가 여전히 위의 동일한 정보를 출력하지만 "Uncaught exception 'MyException'이라는 텍스트가 출력된다는 것입니다.
PHP가 잡히지 않은 예외를 표시하는 방법을 무시할 수 있습니까? 캐치되지 않은 모든 예외를 잡기 위해 백업으로 설정할 수있는 PHP 함수에 대해 읽었습니다. 아마도 그 기능을 사용하여 내 메시지를 형식화하고 프로세스를 종료 할 수 있습니다. 당신은 set_exception_handler()
찾고있는 주제
각'throw '사이트에서 코드를 작성하지 않고 PHP를 로컬 변수로 가져 오는 방법은 없습니다. 귀하의 통제하에 있지 않은 코드에 의해 던져지는 예외에는 지역 변수가 없으므로 * 할 수있는 것은 없습니다 *. – Jon
하지만 여전히 멋진 일을 할 수 있습니다. :-) – Hubro