finally командасы

finally блогы ерекшеліктерді өңдеу үшін try және catch конструкцияларымен бірге қолданылады. Finally ішіндегі код кез келген жағдайда орындалады - try-блок сәтті орындалғанда да, ерекшелік туындағанда да.

Синтаксис

phptry {
  // Ерекшелік тудыруы мүмкін код
} catch (Exception $e) {
  // Ерекшелікті өңдеу
} finally {
  // Кез келген жағдайда орындалатын код
}

Мысал

Кодтың сәтті орындалу мысалы:

php<?php
try {
  $res = 10 / 2;
  echo "Нәтиже: " . $res . "\n";
} catch (Exception $e) {
  echo "Ерекшелік: " . $e->getMessage() . "\n";
} finally {
  echo "Бұл әрқашан орындалады\n";
}
?>

Кодты орындау нәтижесі:

phpНәтиже: 5
Бұл әрқашан орындалады

Мысал

Ерекшелікті өңдеу мысалы:

php<?php
try {
  $res = 10 / 0;
  echo "Нәтиже: " . $res . "\n";
} catch (Exception $e) {
  echo "Ерекшелік: " . $e->getMessage() . "\n";
} finally {
  echo "Бұл әрқашан орындалады\n";
}
?>

Кодты орындау нәтижесі:

phpЕрекшелік: Division by zero
Бұл әрқашан орындалады

Мысал

Ресурстарды босату үшін finally қолдану:

php<?php
$file = fopen("example.txt", "r");
try {
  // Файлмен жұмыс
  if ($file) {
    echo "Файл сәтті ашылды\n";
  }
} catch (Exception $e) {
  echo "Ерекшелік: " . $e->getMessage() . "\n";
} finally {
  if ($file) {
    fclose($file);
    echo "Файл finally блокта жабылды\n";
  }
}
?>

Кодты орындау нәтижесі:

phpФайл сәтті ашылды
Файл finally блокта жабылды

Сондай-ақ қараңыз

  • try конструкциясы,
    ол ерекшеліктерді өңдеу үшін қолданылады
  • Exception класы,
    ол барлық ерекшеліктер үшін негізгі класс болып табылады