PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

最終的にPHP例外処理


はじめに

最後にのコード ryブロックに例外があるかどうかに関係なく、ブロックは常に実行されます。このブロックは、catchブロックの後、またはcatchブロックの代わりに表示されます。

キャッチして最後にブロック

次の例では、catchブロックとfinallyブロックの両方が指定されています。 tryブロックで実行が発生した場合、両方のコードが実行されます。例外がない場合は、最終的にブロックのみが実行されます。

<?php
function div($x, $y) {
   if (!$y) {
      throw new Exception('Division by zero.');
   }
   return $x/$y;
}
try {
   echo div(10,0) . "\n";
} catch (Exception $e) {
   echo 'Caught exception: ', $e->getMessage(), "\n";
}
finally{
   echo "This block is always executed\n";
}
// Continue execution
echo "Execution continues\n";
?>

出力

次の出力が表示されます

Caught exception: Division by zero.
This block is always executed
Execution continues

例外が発生しないようにtryブロックのステートメントを変更します

<?php
function div($x, $y) {
   if (!$y) {
      throw new Exception('Division by zero.');
   }
   return $x/$y;
}
try {
   echo div(10,5) . "\n";
} catch (Exception $e) {
   echo 'Caught exception: ', $e->getMessage(), "\n";
}
finally{
   echo "This block is always executed\n";
}
// Continue execution
echo "Execution continues\n";
?>

出力

次の出力が表示されます

2
This block is always executed
Execution continues

最後にブロックのみ

次の例には、2つのtryブロックがあります。それらの1つは最終的にブロックしただけです。そのtryブロックは、例外をスローするdiv関数を呼び出します

<?php
function div($x, $y){
   try{
      if (!$y) {
         throw new Exception('Division by zero.');
      }
      return $x/$y;
   }
   catch (Exception $e) {
      echo 'Caught exception: ', $e->getMessage(), "\n";
   }
}
try {
   echo div(10,0) . "\n";
}
finally{
   echo "This block is always executed\n";
}
// Continue execution
echo "Execution continues\n";
?>

出力

次の出力が表示されます

Caught exception: Division by zero.
This block is always executed
Execution continues

  1. JavaでのTryCatchによる例外処理

    最高のプログラマーでさえ、コードに間違いを犯します。タイプミス、予期しないユーザー入力、または追跡が困難なその他の多くの理由により、エラーが発生する可能性があります。 そこで、例外処理が役立ちます。優れたコードには、事前定義された方法でコードのエラーに応答する例外ハンドラーが含まれています。例外ハンドラは、エラーが発生した場合の応答方法をプログラムに指示するので便利です。 Javaでは、try...catch ブロックは例外処理に使用されます。このチュートリアルでは、例外処理の基本、try...catchの使用方法について説明します。 例外を処理するためのブロック、およびfinal

  2. C++での例外処理の基本

    C ++では、例外処理はランタイムエラーを処理するプロセスです。例外は、C++で実行時にスローされるイベントです。すべての例外は、std::exceptionクラスから派生します。処理可能なランタイムエラーです。例外を処理しない場合は、例外メッセージを出力してプログラムを終了します。 例外は、C ++標準では、プログラム内で使用できるクラスとして定義されています。親子クラス階層の配置を以下に示します。 C++の一般的な例外クラスは次のとおりです。 例外 説明 std ::exception これは、すべての標準C++例外の例外および親クラスです。 std ::