Clasa Exception
Clasa Exception reprezintă clasa de bază pentru toate excepțiile din PHP.
Conține metodele de bază pentru lucrul cu excepții: obținerea mesajului de eroare,
codului de eroare, fișierului și liniei unde a apărut excepția, precum și a stivei de apeluri.
La crearea unei excepții se poate transmite un mesaj, un cod de eroare și excepția anterioară.
Sintaxă
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Exemplu
Să creăm și să gestionăm o excepție simplă:
<?php
try {
throw new Exception('Ceva nu a funcționat corect', 100);
} catch (Exception $e) {
echo 'Eroare: ' . $e->getMessage();
}
?>
Rezultatul executării codului:
'Eroare: Ceva nu a funcționat corect'
Exemplu
Să utilizăm metodele principale ale clasei Exception:
<?php
try {
throw new Exception('Excepție de test', 123);
} catch (Exception $e) {
echo 'Mesaj: ' . $e->getMessage() . "\n";
echo 'Cod: ' . $e->getCode() . "\n";
echo 'Fișier: ' . $e->getFile() . "\n";
echo 'Linie: ' . $e->getLine() . "\n";
}
?>
Rezultatul executării codului (exemplu):
'Mesaj: Excepție de test
Cod: 123
Fișier: /cale/către/fișier.php
Linie: 3'
Exemplu
Să obținem stiva de apeluri la o excepție:
<?php
function test() {
throw new Exception('Test stivă de apeluri');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Rezultatul executării codului (exemplu):
[
[
'file' => '/cale/către/fișier.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Vezi și
-
clasa
ErrorException,
care reprezintă erorile sub formă de excepții -
funcția
set_exception_handler,
care stabilește un gestionar personalizat al excepțiilor