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
setjmpdanlongjmpuntuk penanganan pengecualian. - Cara menggunakan
errnountuk menangani error sistem.

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
errnountuk error sistem. - Gunakan
setjmpdanlongjmphanya jika diperlukan.
Ringkasan
Ringkasan
Dalam pelajaran ini, Anda telah mempelajari:
- Cara menangani error menggunakan nilai pengembalian.
- Cara
setjmpdanlongjmpmenyimulasikan penanganan pengecualian. - Cara menggunakan
errnountuk mendeteksi error sistem.
Bagian Debugging dan Penanganan Error dalam C ini telah selesai!

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
- Menelusuri Galat dengan GDB
- Galat Runtime yang Umum
- Penanganan Pengecualian dalam C