email.errors
: Κλάσεις Εξαιρέσεων και Ελαττωμάτων¶
Πηγαίος κώδικας: Lib/email/errors.py
Οι εξής κλάσεις εξαιρέσεων ορίζονται στο module email.errors
:
- exception email.errors.MessageError¶
Αυτή είναι η βασική κλάση για όλες τις εξαιρέσεις που μπορεί να κάνει raise το module
email
. Παράγεται από την τυπική κλάσηException
και δεν ορίζει επιπλέον μεθόδους.
- exception email.errors.MessageParseError¶
Αυτή είναι η βασική κλάση για τις εξαιρέσεις που γίνονται raise από την κλάση
Parser
. Κληρονομεί από τηνMessageError
. Αυτή η κλάση χρησιμοποιείται επίσης εσωτερικά από τον αναλυτή που χρησιμοποιείται από τοheaderregistry
.
- exception email.errors.HeaderParseError¶
Γίνεται raise κάτω από ορισμένες συνθήκες σφάλματος κατά την ανάλυση των κεφαλίδων RFC 5322 ενός μηνύματος, αυτή η κλάση προέρχεται από την
MessageParseError
. Η μέθοδοςset_boundary()
θα κάνει raise αυτό το σφάλμα αν ο τύπος περιεχομένου είναι άγνωστος όταν καλείται η μέθοδος. ΗHeader
μπορεί να κάνει raise αυτό το σφάλμα για ορισμένα σφάλματα αποκωδικοποίησης base64, καθώς και όταν επιχειρείται η δημιουργία μιας κεφαλίδας που φαίνεται να περιέχει ενσωματωμένη κεφαλίδα (δηλαδή υπάρχει μια γραμμή συνέχειας που δεν έχει προηγούμενο κενό διάστημα και μοιάζει με κεφαλίδα).
- exception email.errors.BoundaryError¶
Έχει καταργηθεί και δεν χρησιμοποιείται πλέον.
- exception email.errors.MultipartConversionError¶
Γίνεται raise εάν η μέθοδος
attach()
καλείται σε ένα στιγμιότυπο μιας κλάσης που προέρχεται από τηMIMENonMultipart
(π.χ.MIMEImage
). ΗMultipartConversionError
κληρονομεί ταυτόχρονα από τηνMessageError
και την ενσωματωμένηTypeError
.
- exception email.errors.HeaderWriteError¶
Γίνεται raise όταν παρουσιάζεται σφάλμα όταν το
generator
εξάγει κεφαλίδες.
- exception email.errors.MessageDefect¶
Αυτή είναι η βασική κλάση για όλα τα ελαττώματα που εντοπίζονται κατά την ανάλυση μηνυμάτων email. Είναι παράγωγη της
ValueError
.
- exception email.errors.HeaderDefect¶
Αυτή είναι η βασική κλάση για όλα τα ελαττώματα που εντοπίζονται κατά την ανάλυση των κεφαλίδων email. Είναι παράγωγο της
MessageDefect
.
Ακολουθεί η λίστα με τα ελαττώματα που μπορεί να εντοπίσει η FeedParser
κατά την ανάλυση των μηνυμάτων. Σημειώστε ότι τα ελαττώματα προστίθενται στο μήνυμα όπου βρέθηκε το πρόβλημα, οπότε για παράδειγμα, εάν ένα μήνυμα που είναι ένθετο μέσα σε ένα multipart/alternative είχε μια παραμορφωμένη κεφαλίδα, αυτό το ένθετο αντικείμενο μηνύματος θα είχε ένα ελάττωμα, αλλά τα μηνύματα που το περιέχουν όχι.
Όλες οι κλάσεις ελαττωμάτων είναι υποκλάσεις της email.errors.MessageDefect
.
- exception email.errors.NoBoundaryInMultipartDefect¶
Ένα μήνυμα ισχυριζόταν ότι ήταν πολυμερές, αλλά δεν είχε παράμετρο boundary.
- exception email.errors.StartBoundaryNotFoundDefect¶
Το όριο εκκίνησης που αναφέρεται στην κεφαλίδα Content-Type δεν βρέθηκε ποτέ.
- exception email.errors.CloseBoundaryNotFoundDefect¶
Βρέθηκε ένα όριο εκκίνησης, αλλά δεν βρέθηκε ποτέ αντίστοιχο όριο κλεισίματος.
Added in version 3.3.
- exception email.errors.FirstHeaderLineIsContinuationDefect¶
Το μήνυμα είχε μια γραμμή συνέχισης ως την πρώτη γραμμή κεφαλίδας.
- exception email.errors.MisplacedEnvelopeHeaderDefect¶
Βρέθηκε μια κεφαλίδα «Unix From» στη μέση ενός μπλοκ κεφαλίδων.
- exception email.errors.MissingHeaderBodySeparatorDefect¶
Βρέθηκε μια γραμμή κατά την ανάλυση των κεφαλίδων που δεν είχε αρχικό κενό αλλά δεν περιείχε “:”. Η ανάλυση συνεχίζεται στην περίπτωση που η γραμμή αντιπροσωπεύει την πρώτη γραμμή του σώματος.
Added in version 3.3.
- exception email.errors.MalformedHeaderDefect¶
Βρέθηκε μια κεφαλίδα που της έλειπε μια άνω τελεία, ή ήταν αλλιώς παραμορφωμένη.
Αποσύρθηκε στην έκδοση 3.3: Αυτό το σφάλμα δεν έχει χρησιμοποιηθεί εδώ και πολλές εκδόσεις της Python.
- exception email.errors.MultipartInvariantViolationDefect¶
Ένα μήνυμα δήλωσε ότι είναι multipart, αλλά δεν βρέθηκαν υπομέρη. Σημειώστε ότι όταν ένα μήνυμα έχει αυτό το σφάλμα, η μέθοδος του
is_multipart()
μπορεί να επιστρέψειFalse
ακόμα κι αν ο τύπος περιεχομένου του δηλώνει ότι είναι multipart.
- exception email.errors.InvalidBase64PaddingDefect¶
Όταν αποκωδικοποιείται ένα μπλοκ από base64 κωδικοποιημένα bytes, η προσθήκη padding δεν ήταν σωστή. Προστίθεται αρκετό padding για να πραγματοποιηθεί η αποκωδικοποίηση, αλλά τα αποκωδικοποιημένα bytes που προκύπτουν μπορεί να είναι άκυρα.
- exception email.errors.InvalidBase64CharactersDefect¶
Όταν αποκωδικοποιείται ένα μπλοκ από base64 κωδικοποιημένα bytes, συναντήθηκαν χαρακτήρες εκτός του αλφαβήτου base64. Οι χαρακτήρες αγνοούνται, αλλά τα αποκωδικοποιημένα bytes που προκύπτουν μπορεί να είναι άκυρα.
- exception email.errors.InvalidBase64LengthDefect¶
Όταν αποκωδικοποιείται ένα μπλοκ από base64 κωδικοποιημένα bytes, ο αριθμός των χαρακτήρων base64 χωρίς συμπλήρωμα ήταν άκυρος (1 παραπάνω από ένα πολλαπλάσιο του 4). Το κωδικοποιημένο μπλοκ διατηρήθηκε ως έχει.
- exception email.errors.InvalidDateDefect¶
Όταν αποκωδικοποιείται ένα άκυρο ή μη αναγνώσιμο πεδίο ημερομηνίας. Η αρχική τιμή διατηρείται ως έχει.