0Pricing
C Academy · Lektion

Ausnahmebehandlung in C

Implementieren Sie robuste Strategien zur Fehlerbehandlung ohne integrierte Ausnahmebehandlung.

Ausnahmebehandlung in C ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.

Einführung in die Ausnahmebehandlung

Ausnahmebehandlung in C

Im Gegensatz zu Sprachen wie C++ und Java verfügt C über keine integrierte Ausnahmebehandlung.

In dieser Lektion lernen Sie:

  • Wie Sie Fehler mithilfe von Rückgabewerten behandeln.
  • Wie Sie setjmp und longjmp für die Ausnahmebehandlung verwenden.
  • Wie Sie errno zur Behandlung von Systemfehlern verwenden.
Ausnahmebehandlung in C — Illustration 1

Fehler mit Rückgabewerten behandeln

Fehler mit Rückgabewerten behandeln

Die einfachste Möglichkeit, Fehler in C zu behandeln, besteht darin, Rückgabewerte zu verwenden.

Beispiel:

int divide(int a, int b) { if (b == 0) return -1; // Error code return a / b; }

Der Aufrufer prüft den Rückgabewert auf Fehler.

Beispiel: Fehlerbehandlung mit Rückgabewerten

Beispiel: Fehlerbehandlung mit Rückgabewerten

Dieses Programm prüft mithilfe von Rückgabewerten auf eine Division durch null.

#include <stdio.h>

int divide(int a, int b) {
    if (b == 0) {
        printf("Error: Division by zero!\n");
        return -1;
    }
    return a / b;
}

int main() {
    int result = divide(10, 0);
    if (result != -1) {
        printf("Result: %d\n", result);
    }
    return 0;
}

Fehlerbehandlung mit setjmp und longjmp

Fehlerbehandlung mit setjmp und longjmp

Die Funktionen setjmp und longjmp ermöglichen nicht-lokale Sprünge und simulieren so eine Ausnahmebehandlung.

Schritte:

  • Verwenden Sie setjmp(), um einen Wiederherstellungspunkt zu markieren.
  • Verwenden Sie longjmp(), um bei einem Fehler dorthin zurückzuspringen.

Beispiel: setjmp und longjmp verwenden

Beispiel: setjmp und longjmp verwenden

Dieses Programm verwendet setjmp und longjmp zur Fehlerbehandlung.

#include <stdio.h>
#include <setjmp.h>

jmp_buf buffer;

void errorHandler() {
    printf("Error occurred! Jumping back to safe state.\n");
    longjmp(buffer, 1);
}

int main() {
    if (setjmp(buffer) == 0) {
        printf("Executing main program...\n");
        errorHandler();
    } else {
        printf("Recovered from error.\n");
    }
    return 0;
}

errno für Systemfehler verwenden

errno für Systemfehler verwenden

Die Variable errno speichert Fehlercodes von Systemaufrufen.

Beispiel:

#include

Funktionen wie fopen() setzen errno, wenn Fehler auftreten.

Beispiel: errno für die Dateiverarbeitung verwenden

Beispiel: errno für die Dateiverarbeitung verwenden

Dieses Programm prüft errno, wenn eine nicht vorhandene Datei geöffnet wird.

#include <stdio.h>
#include <errno.h>

int main() {
    FILE *file = fopen("nonexistent.txt", "r");
    if (!file) {
        perror("Error opening file");
    }
    return 0;
}

Bewährte Methoden zur Fehlerbehandlung

Bewährte Methoden zur Fehlerbehandlung

So behandeln Sie Fehler effektiv:

  • Prüfen Sie die Rückgabewerte von Funktionen.
  • Verwenden Sie errno für Systemfehler.
  • Verwenden Sie setjmp und longjmp nur, wenn es notwendig ist.

Zusammenfassung

Zusammenfassung

In dieser Lektion haben Sie gelernt:

  • Wie Sie Fehler mithilfe von Rückgabewerten behandeln.
  • Wie setjmp und longjmp eine Ausnahmebehandlung simulieren.
  • Wie Sie errno zur Erkennung von Systemfehlern verwenden.

Damit ist der Abschnitt „Debugging und Fehlerbehandlung in C“ abgeschlossen!

Ausnahmebehandlung in C — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „Ausnahmebehandlung in C“ kostenlos?

Ja — der vollständige Text von „Ausnahmebehandlung in C“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Ausnahmebehandlung in C“?

Implementieren Sie robuste Strategien zur Fehlerbehandlung ohne integrierte Ausnahmebehandlung. Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C Academy zu starten?

Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.

Wie lange dauert die Lektion „Ausnahmebehandlung in C“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?

Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Debugging mit GDB
  2. Häufige Laufzeitfehler
  3. Ausnahmebehandlung in C
← Zurück zu C Academy