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 դասը,
    որը բոլոր բացառությունների հիմնական դասն է