Μετάβαση στο κύριο περιεχόμενο
🔒 Λειτουργία προεπισκόπησης. Τα πρώτα δεκαπέντε μαθήματα Foundations είναι δωρεάν· αυτό είναι Pro. Ξεκινήστε ένα 7ήμερο trial για να ξεκλειδώσετε τον επεξεργαστή, τις υποδείξεις AI και το υπόλοιπο του προγράμματος. Απαιτείται κάρτα, ακυρώνετε οποιαδήποτε στιγμή από το Dashboard.Ξεκινήστε 7ήμερο trial →
← ΜαθήματαSenior Deep-DivesModule 9 · Error handling depthtraceback.TracebackException — exceptions as datapredict138 / 161
+150 XP
Εργασία
📝 **Εργασία:** Προβλέψτε την έξοδο 5 γραμμών. Μια συνάρτηση «divide(a, b)» καλείται με b=0, αυξάνοντας το ZeroDivisionError. Μέσα στο μπλοκ εκτός, χτίζουμε ένα TracebackException και εκτυπώνουμε το όνομα exc_type, τον αριθμό πλαισίων, το όνομα του τελευταίου καρέ, τον συνολικό αριθμό μορφοποιημένων γραμμών και την πρώτη μορφοποιημένη γραμμή. 📋 Υλοποιήστε την παραπάνω λειτουργία. Οι δοκιμές εκτελούνται αυτόματα. 💡 **Υπόδειξη:** Ξαναδιάβασε τη θεωρία αν κολλήσεις.
Πρόβλεψε έξοδο

Διάβασε τον κώδικα προσεκτικά

import traceback


def divide(a: int, b: int) -> float:
    return a / b


try:
    divide(10, 0)
except Exception as e:
    te = traceback.TracebackException.from_exception(e)
    print(f"exc_type: {type(e).__name__}")
    print(f"frames: {len(te.stack)}")
    print(f"last frame: {te.stack[-1].name}")
    lines = list(te.format())
    print(f"line count: {len(lines)}")
    print(f"first line: {lines[0].rstrip()}")

Τι θα εμφανίσει το πρόγραμμα; Γράψε εδώ:

💬 Συζήτηση

Γίνε ο πρώτος — κάνε μια ερώτηση ή μοιράσου μια συμβουλή.
Σύνδεση για να συμμετάσχεις στη συζήτηση. Η ανάγνωση είναι δωρεάν.
Φόρτωση συζήτησης…