Πώς παρακολουθείς και επιβλέπεις τα σφάλματα σε JavaScript;
sobes.tech AI
Απάντηση από AI
Τα σφάλματα σε JavaScript τα παρακολουθώ και τα επιβλέπω με τους εξής τρόπους:
-
Κονσόλα του προγράμματος περιήγησης: Το κύριο εργαλείο για αποσφαλμάτωση σε στάδιο ανάπτυξης. Τα μηνύματα σφάλματος (συνθετικά, λογικά, χρόνου εκτέλεσης) εμφανίζονται με την αναφορά αρχείου και γραμμής.
-
Μπλοκ
try...catch: Συλλαμβάνουν σφάλματα εκτέλεσης, επιτρέποντάς σας να τα διαχειριστείτε ή να εμφανίσετε επιπλέον πληροφορίες.try { // Κώδικας που μπορεί να προκαλέσει σφάλμα let result = riskyOperation(); } catch (error) { // Διαχείριση σφάλματος console.error("Παρουσιάστηκε σφάλμα:", error.message); // Μπορείτε να στείλετε το σφάλμα στον διακομιστή sendErrorToServer(error); } -
window.onerror: Παγκόσμιος χειριστής για μη διαχειριζόμενα σφάλματα JavaScript. Επιτρέπει την κεντρική σύλληψη σφαλμάτων που "έφυγαν" από τοtry...catch.window.onerror = function(message, source, lineno, colno, error) { console.error("Παγκόσμιο σφάλμα:", message, source, lineno, colno); // Αποστολή πληροφοριών σφάλματος στον διακομιστή sendErrorToServer({ message: message, source: source, lineno: lineno, colno: colno, stack: error ? error.stack : 'N/A' }); return true; // Επιστρέφει true για να καταστείλει την προεπιλεγμένη εμφάνιση σφάλματος στην κονσόλα }; -
Εκδήλωση
unhandledrejectionγια Promises: Συλλαμβάνει μη διαχειριζόμενα σφάλματα σε promises.window.addEventListener('unhandledrejection', function(event) { console.error('Μη διαχειριζόμενη απόρριψη Promise:', event.reason); // Αποστολή πληροφοριών σφάλματος στον διακομιστή sendErrorToServer(event.reason); }); -
Συστήματα παρακολούθησης σφαλμάτων (Sentry, Bugsnag, Rollbar): Επαγγελματικές υπηρεσίες που συλλέγουν, συγκεντρώνουν και αναλύουν σφάλματα σε πραγματικό χρόνο. Παρέχουν stacktraces, πληροφορίες για το περιβάλλον του χρήστη, συχνότητα σφαλμάτων και ειδοποιήσεις. Είναι το κύριο εργαλείο σε παραγωγή.
-
Καταγραφή στο διακομιστή: Τα σφάλματα που συλλαμβάνονται στο frontend μέσω
try...catch,onerrorήunhandledrejectionαποστέλλονται στον διακομιστή για κεντρική αποθήκευση και ανάλυση.
Η επιλογή της μεθόδου εξαρτάται από το στάδιο ανάπτυξης και τη σοβαρότητα του σφάλματος. Στην παραγωγή, χρησιμοποιώ πάντα έναν συνδυασμό try...catch, παγκόσμιων χειριστών και συστημάτων παρακολούθησης.