0Pricing
C Academy · Pelajaran

Penanganan Pengecualian dalam C

Terapkan strategi penanganan galat yang tangguh tanpa penanganan pengecualian bawaan.

Penanganan Pengecualian dalam C adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C Academy mencakup 3 pelajaran total.

Pengantar Penanganan Pengecualian

Penanganan Pengecualian dalam C

Berbeda dari bahasa seperti C++ dan Java, C tidak memiliki penanganan pengecualian bawaan.

Dalam pelajaran ini, Anda akan mempelajari:

  • Cara menangani error menggunakan nilai pengembalian.
  • Cara menggunakan setjmp dan longjmp untuk penanganan pengecualian.
  • Cara menggunakan errno untuk menangani error sistem.
Penanganan Pengecualian dalam C — ilustrasi 1

Menangani Error dengan Nilai Pengembalian

Menangani Error dengan Nilai Pengembalian

Cara paling sederhana untuk menangani error dalam C adalah menggunakan nilai pengembalian.

Contoh:

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

Pemanggil memeriksa nilai pengembalian untuk mengetahui adanya error.

Contoh: Penanganan Error dengan Nilai Pengembalian

Contoh: Penanganan Error dengan Nilai Pengembalian

Program ini memeriksa pembagian dengan nol menggunakan nilai pengembalian.

#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;
}

Menggunakan setjmp dan longjmp untuk Penanganan Error

Menggunakan setjmp dan longjmp untuk Penanganan Error

Fungsi setjmp dan longjmp memungkinkan lompatan nonlokal yang menyimulasikan penanganan pengecualian.

Langkah-langkah:

  • Gunakan setjmp() untuk menandai titik pemulihan.
  • Gunakan longjmp() untuk melompat kembali ketika error terjadi.

Contoh: Menggunakan setjmp dan longjmp

Contoh: Menggunakan setjmp dan longjmp

Program ini menggunakan setjmp dan longjmp untuk penanganan error.

#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;
}

Menggunakan errno untuk Error Sistem

Menggunakan errno untuk Error Sistem

Variabel errno menyimpan kode error dari pemanggilan sistem.

Contoh:

#include

Fungsi seperti fopen() menetapkan errno ketika error terjadi.

Contoh: Menggunakan errno untuk Penanganan Berkas

Contoh: Menggunakan errno untuk Penanganan Berkas

Program ini memeriksa errno ketika membuka berkas yang tidak ada.

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

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

Praktik Terbaik untuk Penanganan Error

Praktik Terbaik untuk Penanganan Error

Untuk menangani error secara efektif:

  • Periksa nilai pengembalian fungsi.
  • Gunakan errno untuk error sistem.
  • Gunakan setjmp dan longjmp hanya jika diperlukan.

Ringkasan

Ringkasan

Dalam pelajaran ini, Anda telah mempelajari:

  • Cara menangani error menggunakan nilai pengembalian.
  • Cara setjmp dan longjmp menyimulasikan penanganan pengecualian.
  • Cara menggunakan errno untuk mendeteksi error sistem.

Bagian Debugging dan Penanganan Error dalam C ini telah selesai!

Penanganan Pengecualian dalam C — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penanganan Pengecualian dalam C” gratis?

Ya — teks lengkap “Penanganan Pengecualian dalam C” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C Academy, upgrade ke CoddyKit PRO. Kursus C Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Penanganan Pengecualian dalam C”?

Terapkan strategi penanganan galat yang tangguh tanpa penanganan pengecualian bawaan. Kamu berlatih C Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C Academy?

Tidak diperlukan pengalaman sebelumnya. C Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.

Berapa lama pelajaran “Penanganan Pengecualian dalam C” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C Academy ini?

Ya. Setiap pelajaran C Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menelusuri Galat dengan GDB
  2. Galat Runtime yang Umum
  3. Penanganan Pengecualian dalam C
← Kembali ke C Academy