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