php 7以前のバージョンと比較して、例外処理が大幅に改善されました。 コアメカニズムはtry...catch
ブロックのままです。 try
ブロック内で、例外をスローする可能性のあるコードを配置します。例外が発生した場合、実行は対応するcatch
ブロックにジャンプします。 複数のcatch
ブロックを使用して、さまざまな例外タイプを処理できます。 最後に、オプションのfinally
ブロックは、例外がスローされたかキャッチされているかに関係なく実行されます。
基本的な例は次のとおりです。
ブロックはこの例外をキャッチし、エラーメッセージを表示し、結果に関係なくメッセージが印刷されることを保証します。 汎用<code class="php">try { // Code that might throw an exception $file = fopen("nonexistent.txt", "r"); if ($file === false) { throw new Exception("Could not open file."); } fclose($file); } catch (Exception $e) { // Handle the exception echo "An error occurred: " . $e->getMessage(); } finally { // Code that always executes echo "\nThis always runs."; }</code>キャッチオールに依存する代わりに、可能な限り特定の例外を常に処理する必要があることに注意してください。 ここにいくつかの重要なポイントがあります:
catch (Exception $e)
を使用するのではなく、特定の例外タイプをキャッチします。これにより、よりカスタマイズされたエラー処理が可能になり、予期しないエラーのマスキングが防止されます。finally
finally
通常の制御フローの例外を投げることは避けてください。 予想される条件に戻り値またはその他のコントロール構造を使用します。try
以上がPHP 7の例外を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。