私は現在開発中のWebアプリケーションでちょっと立ち往生しています。私はにtry/catchブロックと一緒に例外を使用することにしました。PHP5.6サーバで例外が捕捉されない
にもかかわらず、私はをローカルで開発しました。でした。PHP5サーバーにアプリケーションをアップロードしたばかりの場合、それらの例外はもうキャッチされません。代わりに、スクリプトの実行は致命的なエラーで停止します。私はPHP7の例外に関する大きな変更について何かを読んだことがありますが、私が見つけたすべての情報は非常に曖昧です。
スクリプトストップはそれほど問題ではありませんが、スクリプトはAJAX呼び出しで実行され、JSON形式のエラーメッセージを返さなければならないため、エラーを捕捉して「変更」することは非常に重要です。
メインファイル:
try {
if (!$this->validateNonce($this->postParams['upload-nonce']))
throw new Exception('Upload failed because nonce could not be verified.');
new FloImage(
$this->postParams['basename'],
true,
$this->fileParams['uploadfile']
);
} catch (Throwable $e) {
echo json_encode(array('error' => $e->getMessage()));
die();
}
FloImage()
チェックはいくつかの情報(名前、ファイルサイズなど)およびエラーの場合には、このように例外をスロー:
throw new Exception(_('My error message.'));
ヘルプtry-catch-blockをPHP5で動作させる方法については、感謝します!事前にありがとうございます...
何が致命的なエラーですか。 –
私はいつも私が投げているエラーを取得します。致命的なエラー:私のメッセージ。 –
'Throwable'はPHP7の基本インターフェースです - > [docs](http://php.net/manual/en/class.throwable.php)'例外 'が実装されていないのでPHP5のインターフェイス –