Klasa Exception
Klasa Exception përfaqëson klasën bazë për të gjitha përjashtimet në PHP.
Ajo përmban metodat themelore për të punuar me përjashtimet: marrjen e mesazhit të gabimit,
kodit të gabimit, skedarit dhe rreshtit ku u shkaktua përjashtimi, si dhe gjurmën e thirrjeve.
Gjatë krijimit të një përjashtimi, mund të kaloni një mesazh, kod gabimi dhe përjashtimin e mëparshëm.
Sintaksa
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Shembull
Le të krijojmë dhe trajtojmë një përjashtim të thjeshtë:
<?php
try {
throw new Exception('Diçka shkoi keq', 100);
} catch (Exception $e) {
echo 'Gabim: ' . $e->getMessage();
}
?>
Rezultati i ekzekutimit të kodit:
'Gabim: Diçka shkoi keq'
Shembull
Le të përdorim metodat kryesore të klasës Exception:
<?php
try {
throw new Exception('Përjashtim testues', 123);
} catch (Exception $e) {
echo 'Mesazhi: ' . $e->getMessage() . "\n";
echo 'Kodi: ' . $e->getCode() . "\n";
echo 'Skedari: ' . $e->getFile() . "\n";
echo 'Rreshti: ' . $e->getLine() . "\n";
}
?>
Rezultati i ekzekutimit të kodit (shembull):
'Mesazhi: Përjashtim testues
Kodi: 123
Skedari: /path/to/file.php
Rreshti: 3'
Shembull
Le të marrim gjurmën e thirrjeve gjatë një përjashtimi:
<?php
function test() {
throw new Exception('Test i gjurmës së thirrjeve');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Rezultati i ekzekutimit të kodit (shembull):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Shihni gjithashtu
-
klasën
ErrorException,
e cila paraqet gabimet si përjashtime -
funksionin
set_exception_handler,
i cili vendos një trajtimes të përjashtimeve të personalizuar