什么是PHP中的异常处理?

例外是在程序执行期间出现的问题。在程序执行期间,如果发生异常,则不会执行该语句之后的代码,PHP将尝试查找第一个匹配的catch块。如果未捕获到异常,则将发出PHP致命错误,并带有“未捕获的异常”。

语法

   try {
      print "this is our try block";
      throw new Exception();
      }catch (Exception $e) {
         print "something went wrong, caught yah! n";
      }finally {
         print "this part is always executed";
      }

示例

<?php
   function printdata($data) {
      try {
         //如果var为6,则仅在执行时
         if($data == 6) {
         //如果var为零,则仅引发异常
         throw new Exception('Number is six.');
            echo "\n After throw (It will never be executed)";
         }
      }
      //当try块引发Exception-
         catch(Exception $e){
            echo "\n Exception Caught", $e->getMessage();
         }
      //该块代码将始终执行。
         finally{
            echo "\n Final block will be always executed";
         }
   }
   //这里不会出现异常
      printdata(0);
      //异常会出现
      printdata(6);

?>

输出结果

Final block will be always executed
Exception CaughtNumber is six.
Final block will be always executed

注意

要处理异常,程序代码必须在try块内。每次尝试都必须至少有一个各自的捕获块。可以使用多个catch块来捕获不同类别的异常。