Konzepterklärung
In dieser Lektion üben Sie das Debuggen eines kleinen C++-Programms, das auf vorhersehbare Weise fehlschlägt. Es geht nicht nur darum, eine Fehlermeldung zu sehen. Es geht darum, dem Ablauf zu folgen: identifizieren Sie, was der Code zu tun versucht, reproduzieren Sie das Problem und verbessern Sie dann das Programm, damit das Verhalten leichter zu verstehen ist. Dies ist eine anfängerfreundliche Debugging-Gewohnheit, die später wichtig wird, wenn Ihre Programme größer werden und die Ursache eines Problems weniger offensichtlich ist.
Wo der Code hingehört
- Beginnen Sie mit Variablen und Eingaben. Halten Sie Includes, die `main`-Funktion und Datentypen explizit.
- Fügen Sie die Verarbeitungslogik im mittleren Abschnitt hinzu.
- Beenden Sie mit Ausgabe und schneller Validierung.
Befehlsreferenz
- Führen Sie das Programm aus und bestätigen Sie, welche Eingabe den Fehlerpfad verursacht.
- Ändern Sie die Werte in `divideItems`, um einen funktionierenden und einen fehlerhaften Fall zu testen.
- Halten Sie die `throw`-Stelle und den `catch`-Block leicht lesbar, damit der Fehlerpfad offensichtlich ist.
- Beschreiben Sie eine Debugging-Entscheidung, die das Programm leichter überprüfbar machte.
Schritt-für-Schritt-Anleitung
- Erstellen und führen Sie das Beispiel genau wie geschrieben aus, um den behandelten Fehler zu beobachten.
- Identifizieren Sie, warum `divideItems(12, 0)` nicht erfolgreich sein kann.
- Ändern Sie das zweite Argument in eine gültige Zahl und vergleichen Sie die neue Ausgabe.
- Fügen Sie eine Meldung hinzu oder bearbeiten Sie sie, damit der Fehlerfall für einen Benutzer, der das Terminal liest, klarer wird.
- Fassen Sie in einem Satz zusammen, wie die `try`- und `catch`-Blöcke beim Debuggen helfen.
Übungsaufgaben
- Fügen Sie einen zweiten Testaufruf mit einem gültigen Divisor hinzu und geben Sie beide Ergebnisse klar aus.
- Schreiben Sie das Beispiel so um, dass die Funktion eine weitere ungültige Eingabe, wie z.B. negative Boxen, überprüft.
- Erstellen Sie einen kleinen Bericht in `main`, der anzeigt, ob jeder Testfall bestanden oder fehlgeschlagen ist.
Coding-Challenges
- Implementieren Sie dasselbe Szenario einmal mit direkten Überprüfungen und einmal mit einer Ausnahme, dann vergleichen Sie die Lesbarkeit.
- Refaktorieren Sie den Code, sodass die Berechnungslogik und die benutzerorientierten Meldungen sauber getrennt sind.
Kleine Übungsaufgaben
- Benennen Sie eine Variable um, damit die Absicht des Codes leichter nachvollziehbar ist.
- Fügen Sie einen zusätzlichen abgesicherten Fall hinzu und führen Sie das Programm erneut aus.
- Schreiben Sie eine einzeilige Zusammenfassung des Fehlers, den diese Lektion aufdecken soll.
Häufiger Fehler
Skipping input validation or mixing logic/output in one unstructured block.
Mini-Challenge aus der Praxis
Build a small real-life example for this lesson topic using 3 clear steps: input, process, output.