Die finally-kommando
Die blok finally word saam met die konstruksies try en catch gebruik vir die hantering van uitsonderings. Die kode binne finally sal in elk geval uitgevoer word - beide met die suksesvolle uitvoering van die try-blok en met die voorkoms van 'n uitsondering.
Sintaksis
try {
// Kode wat 'n uitsondering kan veroorsaak
} catch (Exception $e) {
// Hantering van uitsondering
} finally {
// Kode wat in elk geval uitgevoer sal word
}
Voorbeeld
Voorbeeld met suksesvolle uitvoering van kode:
<?php
try {
$res = 10 / 2;
echo "Result: " . $res . "\n";
} catch (Exception $e) {
echo "Exception: " . $e->getMessage() . "\n";
} finally {
echo "This will always execute\n";
}
?>
Resultaat van die kode-uitvoering:
Result: 5
This will always execute
Voorbeeld
Voorbeeld met die hantering van 'n uitsondering:
<?php
try {
$res = 10 / 0;
echo "Result: " . $res . "\n";
} catch (Exception $e) {
echo "Exception: " . $e->getMessage() . "\n";
} finally {
echo "This will always execute\n";
}
?>
Resultaat van die kode-uitvoering:
Exception: Division by zero
This will always execute
Voorbeeld
Die gebruik van finally vir die vrystelling van hulpbronne:
<?php
$file = fopen("example.txt", "r");
try {
// Werk met die lêer
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";
}
}
?>
Resultaat van die kode-uitvoering:
File opened successfully
File closed in finally block