⊗pyPmExcCt 75 of 129 menu

Διεξαγωγή Εξαιρέσεων στην Python

Στην Python σε σύγκριση με άλλες γλώσσες προγραμματισμού υπάρχουν πολλές περιπτώσεις που προκαλούν εξαιρέσεις.

Ας τις εξετάσουμε πιο αναλυτικά. Ας υποθέσουμε ότι έχουμε μια λίστα:

lst = [1, 2, 3]

Ας προσπαθήσουμε να προσπελάσουμε ένα μη υπάρχον στοιχείο της λίστας:

print(lts[4])

Μετά την εκτέλεση του κώδικα θα εμφανιστεί ένα σφάλμα (εξαίρεση):

IndexError: list index out of range

Εάν, however, χρειάζεται να συνεχίσουμε την εργασία χωρίς να εμφανιστεί η εξαίρεση, πρέπει να την πιάσουμε χρησιμοποιώντας την κατασκευή try-except. Αυτή έχει την ακόλουθη σύνταξη:

try: # κώδικας που μπορεί να προκαλέσει εξαίρεση except: # χειρισμός του σφάλματος

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

Εάν, however, κατά την εκτέλεση του block try δεν προκύψουν εξαιρετικές καταστάσεις, τότε ο χρήσιμος κώδικας απλά θα εκτελεστεί, ενώ ο κώδικας από το block except - όχι.

Ας πιάσουμε την εξαίρεσή μας κατά την προσπέλαση ενός μη υπάρχοντος στοιχείου λίστας. Για αυτό, στο block try θα τοποθετήσουμε τον κώδικα με το πιθανό σφάλμα. Και στο block except θα ορίσουμε την εμφάνιση στην κονσόλα του μηνύματος 'error: elem is not exist':

lst = [1, 2, 3] try: print(lst[4]) except: print('error: elem is not exist')

Μετά την εκτέλεση του κώδικα θα εμφανιστεί:

'error: elem is not exist'

Μετά τη μελέτη της κατασκευής try-except ο στυλ του κώδικα που γράφετε πρέπει να αλλάξει. Τώρα όλα τα σημεία, στα οποία μπορεί να προκύψει μια εξαιρετική κατάσταση, πρέπει να τυλίγονται σε try, και στο block except να ορίζεται η αντίδραση σε αυτήν την εξαίρεση.

Ζητήστε από το χρήστη δύο αριθμούς. Διαιρέστε τον έναν με τον άλλον. Πιάστε την εξαιρετική κατάσταση της διαίρεσης με το μηδέν.

Ζητήστε από το χρήστη έναν αριθμό. Βρείτε την τετραγωνική ρίζα αυτού του αριθμού. Πιάστε την εξαιρετική κατάσταση εξαγωγής ρίζας από αρνητικό αριθμό.

Δίνεται μια λίστα. Ζητήστε από το χρήστη έναν ακέραιο αριθμό. Λάβετε το στοιχείο της λίστας, τον αριθμό του οποίου εισήγαγε ο χρήστης. Πιάστε την εξαιρετική κατάσταση, που θα συμβεί εάν ο χρήστης εισήγαγε αριθμό εκτός εύρους της λίστας.

Δίνεται ο ακόλουθος κώδικας:

num = '5' res = num + 2 print(res)

Τι συμβαίνει με αυτόν τον κώδικα; Διορθώστε τα ελαττώματά του.

Δίνεται ο ακόλουθος κώδικας:

lst = [1, 2, 3, 4] def getElem(iter): print(iter[4]) getElem(lst)

Τι συμβαίνει με αυτόν τον κώδικα; Διορθώστε τα ελαττώματά του.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη