Πώς μπορώ να πω σε ένα άτομο που δεν είναι καλό στον προγραμματισμό, η διαφορά μεταξύ σφάλματος και εξαίρεσης;


Απάντηση 1:

Έτσι φανταζόμουν τη διαφορά μεταξύ του σφάλματος και της εξαίρεσης.

Λάθος:

Εδώ προσπαθείτε να εκτελέσετε το πρόγραμμά σας, αλλά δυστυχώς ο κ. Περιβάλλον (περιβάλλον εφαρμογής σας) ρίχνει ένα τεράστιο βράχο (σφάλμα) σε σας εξαιτίας κάποιου λόγου.

Φανταστείτε λοιπόν αν προσπαθήσετε να πιάσετε αυτόν τον τεράστιο βράχο (δηλαδή χειριστείτε το σφάλμα) τότε θα σας βλάψει άσχημα!

Σφάλματα συμβαίνουν κατά το χρόνο εκτέλεσης. Είναι αδύνατο να ανακάμψει από errors.Hence Τα σφάλματα δεν προορίζονται να πιάσουν. Έτσι, ακόμη και αν έχετε πιάσει σφάλμα (φανταστείτε ότι το μεγάλο βράχο) δεν μπορείτε να το ανακτήσετε από αυτό

Εξαίρεση:

Εδώ προσπαθείτε να εκτελέσετε το πρόγραμμά σας αλλά, δυστυχώς, ο κ. Application (η αίτησή σας) ρίχνει ένα μικρό βράχο (εξαίρεση) σε σας για κάποιο λόγο

Τώρα μπορείτε να επιχειρήσετε να πιάσετε το μικρό βράχο ή να φύγετε.

Αν φύγετε τότε θα σας βλάψει και αν πιάσετε τότε θα σώσετε τον εαυτό σας!

Αν συμβεί μια εξαίρεση, μπορείτε να το χειριστείτε χρησιμοποιώντας μπλοκ try-catch. Υπάρχει μια ολόκληρη έννοια που βασίζεται σε αυτό που ονομάζεται Εξαγωγή Handling.

______________________________________________________

Αυτό δεν είναι το τέλειο παράδειγμα για να φανταστείτε το σφάλμα έναντι εξαίρεσης. Μπορείτε να φανταστείτε πολλά ακόμα παραδείγματα και να κάνετε κάτι περισσότερο σχετικό. Ορισμένοι προγραμματιστές μπορεί να μην αρέσουν αυτή η εξήγηση .. ωστόσο αυτό το σχέδιο είναι αρκετό για να εξηγήσει σε ένα άτομο που δεν είναι καλό στον προγραμματισμό :)

Για αναφορά :

  • Διαφορά μεταξύ του σφάλματος Vs Εξαίρεση στη Java Διαφορά μεταξύ του σφάλματος έναντι εξαίρεσης σε Java - ερώτηση συνέντευξης

Απάντηση 2:

Στο πλαίσιο της Java, τυπικά η εξαίρεση προκαλείται από το λογικό σφάλμα στον κώδικα του προγραμματιστή ή την παράλειψη χειρισμού συγκεκριμένων καταστάσεων προληπτικά. Το σφάλμα είναι το αποτέλεσμα του χρόνου εκτέλεσης του χρόνου εκτέλεσης σε περίπτωση που δεν μπορεί να συνεχιστεί και θα μπορούσε να τερματίσει και έτσι να σταματήσει την εκτέλεση οποιασδήποτε εφαρμογής που εκτελείται σε αυτό.

Μερικά σφάλματα θα μπορούσαν να προκληθούν από κακώς γραπτά προγράμματα, π.χ. η διαρροή μνήμης (διατήρηση ανεπιθύμητων αντικειμένων πέρα ​​από την προβλεπόμενη διάρκεια ή το πεδίο εφαρμογής) θα οδηγούσε σε OutOfMemoryError. Άλλα σφάλματα θα μπορούσαν να αντιμετωπιστούν κατά την αρχικοποίηση του περιβάλλοντος εκτέλεσης.


Απάντηση 3:

Στο πλαίσιο της Java, τυπικά η εξαίρεση προκαλείται από το λογικό σφάλμα στον κώδικα του προγραμματιστή ή την παράλειψη χειρισμού συγκεκριμένων καταστάσεων προληπτικά. Το σφάλμα είναι το αποτέλεσμα του χρόνου εκτέλεσης του χρόνου εκτέλεσης σε περίπτωση που δεν μπορεί να συνεχιστεί και θα μπορούσε να τερματίσει και έτσι να σταματήσει την εκτέλεση οποιασδήποτε εφαρμογής που εκτελείται σε αυτό.

Μερικά σφάλματα θα μπορούσαν να προκληθούν από κακώς γραπτά προγράμματα, π.χ. η διαρροή μνήμης (διατήρηση ανεπιθύμητων αντικειμένων πέρα ​​από την προβλεπόμενη διάρκεια ή το πεδίο εφαρμογής) θα οδηγούσε σε OutOfMemoryError. Άλλα σφάλματα θα μπορούσαν να αντιμετωπιστούν κατά την αρχικοποίηση του περιβάλλοντος εκτέλεσης.