⊗pyPmExcFu 82 of 129 menu

Συνάρτηση με Εξαίρεση στην Python

Οι εξαιρέσεις είναι πολύ βολικό να εκτοξεύονται, ορίζοντάς τις σε συναρτήσεις χρησιμοποιώντας συνθήκες.

Ας φτιάξουμε μια συνάρτηση get_sum, η οποία θα επιστρέφει το άθροισμα των στοιχείων μιας λίστας μόνο εάν το μήκος της λίστας είναι μικρότερο ή ίσο με 3. Σε αντίθετη περίπτωση, ας εκτοξεύεται η δική μας εξαίρεση ToBigLength:

def get_sum(lst): if len(lst) <= 3: return sum(lst) else: raise ToBigLength

Τώρα ας περάσουμε στη συνάρτηση get_sum μια λίστα και ας εμφανίσουμε το αποτέλεσμα στην κονσόλα:

lst = [1, 2, 3, 4] print(get_sum(lst)) # θα εμφανίσει 6

Επίσης, σε συναρτήσεις μπορούμε να ορίσουμε υποδοχή πολλών τύπων εξαιρέσεων. Ας δημιουργήσουμε μια ακόμη κλάση εξαιρέσεων ToSmallLength:

class ToSmallLength(Exception): pass

Τώρα ας ορίσουμε στη συνάρτηση μια συνθήκη: εάν το μήκος της λίστας είναι ίσο με μηδέν, τότε ας εκτοξευθεί η ToSmallLength. Εάν δεν πιαστεί καμία εξαίρεση, τότε ας επιστραφεί το άθροισμα όλων των στοιχείων της λίστας:

def get_sum(lst): if len(lst) > 3: raise ToBigLength if len(lst) == 0: raise ToSmallLength else: return sum(lst)

Για ευκολία, μπορούμε να τοποθετήσουμε τη λίστα, που θα περνάει ως παράμετρος στη συνάρτηση, την ίδια τη συνάρτηση και την κλήση της σε ένα μπλοκ try. Και την υποδοχή των δύο εξαιρέσεών μας να τις τοποθετήσουμε στα μπλοκ except:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

Δημιουργήστε μια συνάρτηση, που ως παράμετρο θα δέχεται έναν αριθμό. Σε αυτήν ορίστε συνθήκες: εάν ο αριθμός είναι αρνητικός ή ίσος με μηδέν, τότε ας εκτοξευθούν οι αντίστοιχες εξαιρέσεις. Σε αντίθετη περίπτωση ας πολλαπλασιαστεί ο αριθμός με 3.

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

Ελληνικά
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη