Η PHP υποστηρίζει έναν τελεστή ελέγχου λαθών: το σύμβολο (@). Όταν προηγείται σε μια έκφραση στην PHP, οποιοδήποτε μήνυμα λάθους που ίσως δημιουργηθεί από αυτή την έκφραση θα αγνοηθεί.
Αν το χαρακτηριστικό των track_errors έχει ενεργοποιηθεί, οποιοδήποτε μήνυμα λάθους που θα δημιουργηθεί από την έκφραση θα αποθηκευτεί στη μεταβλητή $php_errormsg. Αυτή η μεταβλητή θα αλλάζει ανάλογα με κάθε λάθος, συνεπώς θα πρέπει να την ελέγχετε συχνά αν θέλετε να τη χρησιμοποιείτε.
<?php |
Óçìåßùóç: Ο τελεστής @ δουλεύει μόνο στις εκφράσεις. Ένας απλός κανόνας είναι ο εξής: αν μπορείτε να πάρετε την τιμή από κάτι, μπορείτε να βάλετε ως πρόθεμα σ'αυτό, το @. Για παράδειγμα, μπορείτε να το προσθέσετε στις μεταβλητές, στις συναρτήσεις και στις κλήσεις του include() , στις σταθερές κ.ο.κ. Δεν μπορείτε να το προσθέσετε στους ορισμούς συναρτήσεων ή κλάσεων, ή υποθετικών δομών όπως τις if και foreach κ.ο.κ.
Δείτε επίσης την error_reporting() και το τμήμα του εγχειριδίου Συναρτήσεις ελέγχου λαθών και σύνδεσης.
Óçìåßùóç: Το πρόθεμα του τελεστή ελέγχου λαθών "@" δε θα αποτρέψει την εμφάνιση των μηνυμάτων που είναι αποτέλεσμα από λάθη μεταγλώττισης.
Ðñïåéäïðïßçóç |
Προς το παρόν, το πρόθεμα ελέγχου λαθών "@" θα αποτρέψει ακόμη και την αναφορά λαθών για κρίσιμα λάθη που θα τερματίσουν την εκτέλεση του κώδικα. Ανάμεσα σε άλλα, αυτό σημαίνει ότι αν χρησιμοποιείτε το "@" για να εξαφανίσετε τα λάθη από μια συγκεκριμένη συνάρτηση τότε αν δεν είναι διαθέσιμο ή δεν έχει γραφεί σωστά, το script θα σταματήσει αμέσως εκεί χωρίς κάποια ένδειξη για την αιτία. |