ბრძანება finally

ბლოკი finally გამოიყენება კონსტრუქციებთან try და catch გამონაკლისების დასამუშავებლად. კოდი finally-ის შიგნით შესრულდება ნებისმიერ შემთხვევაში - როგორც try-ბლოკის წარმატებით შესრულებისას, ასევე გამონაკლისის გაჩენისას.

სინტაქსი

phptry {
  // კოდი, რომელსაც შეუძლია გამოიწვიოს გამონაკლისი
} catch (Exception $e) {
  // გამონაკლისის დამუშავება
} finally {
  // კოდი, რომელიც შესრულდება ნებისმიერ შემთხვევაში
}

მაგალითი

მაგალითი კოდის წარმატებული შესრულებით:

php<?php
try {
  $res = 10 / 2;
  echo "Result: " . $res . "\n";
} catch (Exception $e) {
  echo "Exception: " . $e->getMessage() . "\n";
} finally {
  echo "This will always execute\n";
}
?>

კოდის შესრულების შედეგი:

phpResult: 5
This will always execute

მაგალითი

მაგალითი გამონაკლისის დამუშავებით:

php<?php
try {
  $res = 10 / 0;
  echo "Result: " . $res . "\n";
} catch (Exception $e) {
  echo "Exception: " . $e->getMessage() . "\n";
} finally {
  echo "This will always execute\n";
}
?>

კოდის შესრულების შედეგი:

phpException: Division by zero
This will always execute

მაგალითი

finally-ის გამოყენება რესურსების გასათავისუფლებლად:

php<?php
$file = fopen("example.txt", "r");
try {
  // ფაილთან მუშაობა
  if ($file) {
    echo "File opened successfully\n";
  }
} catch (Exception $e) {
  echo "Exception: " . $e->getMessage() . "\n";
} finally {
  if ($file) {
    fclose($file);
    echo "File closed in finally block\n";
  }
}
?>

კოდის შესრულების შედეგი:

phpFile opened successfully
File closed in finally block

იხილეთ აგრეთვე

  • კონსტრუქციას try,
    რომელიც გამოიყენება გამონაკლისების დასამუშავებლად
  • კლასს Exception,
    რომელიც არის ყველა გამონაკლისის ბაზისური კლასი