Η εντολή throw
Η εντολή throw χρησιμοποιείται για τη ρητή εκτόξευση μιας εξαίρεσης στην PHP.
Δέχεται μία παράμετρο - ένα αντικείμενο εξαίρεσης, το οποίο πρέπει να είναι ένα στιγμιότυπο κλάσης
που κληρονομεί από τη βασική κλάση Exception. Κατά την κλήση αυτής της συνάρτησης, η εκτέλεση του τρέχοντος
κώδικα διακόπτεται αμέσως, και η PHP προσπαθεί να βρει το αντίστοιχο μπλοκ catch για την επεξεργασία της εξαίρεσης.
Σύνταξη
throw new ExceptionClass(message, code, previous);
Παράδειγμα
Ένα απλό παράδειγμα δημιουργίας εξαίρεσης:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Η ηλικία δεν μπορεί να είναι αρνητική');
}
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
Fatal error: Uncaught Exception: Η ηλικία δεν μπορεί να είναι αρνητική
Παράδειγμα
Παράδειγμα με επεξεργασία εξαίρεσης:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Διαίρεση με το μηδέν');
}
} catch (Exception $e) {
echo 'Σφάλμα: ' . $e->getMessage();
}
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
'Σφάλμα: Διαίρεση με το μηδέν'
Παράδειγμα
Χρήση προσαρμοσμένης εξαίρεσης:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Προσαρμοσμένο μήνυμα σφάλματος');
} catch (MyCustomException $e) {
echo 'Προσαρμοσμένο σφάλμα πιάστηκε: ' . $e->getMessage();
}
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
'Προσαρμοσμένο σφάλμα πιάστηκε: Προσαρμοσμένο μήνυμα σφάλματος'