Computer >> Máy Tính >  >> Lập trình >> PHP

Tương tác PHP giữa cuối cùng và trả về

Giới thiệu

Có một hành vi đặc biệt của cuối cùng chặn khi khối try hoặc khối catch (hoặc cả hai) chứa return tuyên bố. Thông thường câu lệnh return khiến điều khiển chương trình quay trở lại vị trí đang gọi. Tuy nhiên, trong trường hợp một hàm có khối try / catch có trả về, các câu lệnh trong khối cuối cùng sẽ được thực thi trước khi trả về.

Ví dụ

Trong ví dụ sau, hàm div () có một cấu trúc try - catch - last. Khối try mà không có ngoại lệ trả về kết quả của phép chia. Trong trường hợp ngoại lệ, khối catch trả về thông báo lỗi. Tuy nhiên, trong cả hai trường hợp, câu lệnh trong khối cuối cùng được thực thi trước.

Ví dụ

<?php
function div($x, $y){
   try {
      if ($y==0)
         throw new Exception("Division by 0");
      else
         $res=$x/$y;;
         return $res;
      }
      catch (Exception $e){
         return $e->getMessage();
      }
      finally{
         echo "This block is always executed\n";
   }
}
$x=10;
$y=0;
echo div($x,$y);
?>

Đầu ra

Kết quả sau được hiển thị

This block is always executed
Division by 0

Thay đổi giá trị của $ y thành 5. Kết quả sau được hiển thị

This block is always executed
2