-3

さて、私はエラー処理が初めてで、いくつかの例を見てきましたが、この質問に対する答えは見ていません。私が求めていることを示すために、いくつかの実際の基本的なサンプル コードを使用します。

if(some condition){
    throw Exception()
  }

  //Some random code in between
  echo "Code between throw() and Catch()";

catch(Exception $e){
//handle the caught exception
}

基本的に、私の質問は次のとおりです。if() の条件によって例外がスローされた場合、ランダムな echo ステートメントが実行されますか、それともスキップして例外の catch() に直行しますか?

4

3 に答える 3

5

マニュアルから:

例外がスローされると、ステートメントに続くコードは実行されず、PHP は最初に一致する catch ブロックを見つけようとします。

于 2013-05-25T16:51:26.573 に答える
4

答えはノーだ、

例:

   <?php try{   
          $conn = new PDO('mysql:host=localhost; dbname=xxx', 'xxx', '');
      ?>  

...私はただの HTML テキストです。...

   <?php
       }catch(PDOException $e){
          echo  'ERROR: '.$e->getMessage();
       }    

これは、try ディレクティブが失敗すると、すぐにそのエラーをキャッチしてエラーを表示するためです。そのため、その間に何も表示/評価することはできません。

于 2013-05-25T16:56:33.047 に答える
0

スローが識別されて実行されると、コントロールはキャッチ ブロックに移されます。他のすべてのステートメントはスキップされます。

于 2013-05-25T16:57:58.073 に答える