Konsep Dasar ErrorHandling
Proses menangani kesalahan yang terjadi saat eksekusi
program untuk mencegah crash dan memberikan respons yang
tepat
Mencegah program crash
Memberikan pengalaman pengguna yang lebih baik
Membantu debugging dan perbaikan kode
Meningkatkan keandalan aplikasi
3.
Jenis-jenis Error dalamPemrograman
Pemrograman menghadapi tiga jenis utama kesalahan yang perlu dipahami dan ditangani
Syntax Errors
Kesalahan dalam struktur kode yang
melanggar aturan bahasa pemrograman
Kurung kurawal tidak seimbang
Titik koma yang hilang
Penulisan keyword salah
if (x > 5 {
print("Hello")
// Missing closing parenthesis
Runtime Errors
Kesalahan yang terjadi saat program
dieksekusi, meskipun sintaks benar
Pembagian dengan nol
Akses array di luar indeks
File tidak ditemukan
int[] arr = new int[5];
System.out.println(arr[10]);
// ArrayIndexOutOfBoundsException
Logical Errors
Kesalahan dalam algoritma atau logika
yang menyebabkan hasil tidak sesuai
harapan
Operator yang salah
Perhitungan matematika salah
Kondisi if-else tidak tepat
// Menghitung rata-rata
int total = 100;
int count = 5;
int avg = total * count; // Seharusnya dibagi
4.
Teknik Error Handling
Strukturdasar untuk menangani exception:
try {
// Kode yang mungkin error
} catch (Exception e) {
// Tangani exception
} finally {
// Eksekusi selalu
}
Saat exception terjadi:
Antisipasi error Isolasi kode berisiko
Pemulihan otomatis Logging untuk debugging
Pengalihan flow yang terkendali
5.
Error Handling dalamPython
Try-Except-Else-Finally
Struktur error handling Python:
try:
# Kode yang mungkin error
except ValueError as e:
# Tangani ValueError
except Exception as e:
# Tangani exception lain
else:
# Eksekusi jika tidak ada error
finally:
# Eksekusi selalu
Multiple except Exception chaining
Custom exceptions Context managers
# Contoh implementasi
6.
Error Handling dalamJava
Try-Catch-Finally
Struktur error handling Java:
try {
// Kode yang mungkin error
} catch (IOException e) {
// Tangani IOException
} catch (Exception e) {
// Tangani exception lain
} finally {
// Eksekusi selalu
}
Tidak diperiksa kompilasi
7.
Best Practices dalamError Handling
Kapan Menangani Error
Tangani di tingkat yang tepat - di mana Anda bisa
melakukan pemulihan yang bermakna
Jangan tangani exception yang tidak bisa Anda pulihkan
Gunakan early return untuk menghindari nested if-else
// Good: Early return
if (user == null) {
throw new IllegalArgumentException("User cannot be null");
}
// Continue with valid user
Pesan Error yang Jelas
Buat pesan yang informatif dan spesifik
Sertakan konteks yang relevan (nilai variabel, dll)
Gunakan bahasa yang mudah dimengerti oleh pengguna
// Bad: throw new Exception("Error");
// Good: throw new IllegalArgumentException("User age cannot be negative: " + age);
Log exception dengan level yang tepat (ERROR, WARN, Buat custom exceptions untuk domain spesifik
8.
Kesimpulan
Mencegah program crashdan meningkatkan keandalan
aplikasi
Memberikan pengalaman pengguna yang lebih baik
dengan pesan error yang jelas
Memfasilitasi debugging dan perbaikan kode yang lebih
efisien
Meningkatkan keamanan aplikasi dengan menangani
kondisi tak terduga
Try-catch-finally adalah struktur dasar error handling
Pahami jenis-jenis error (syntax, runtime, logical)
Setiap bahasa memiliki pendekatan berbeda (Python vs
Java)
Terapkan best practices untuk kode yang robust
"Kode yang baik bukanlah kode yang tidak pernah error,
melainkan kode yang dapat menangani error dengan
baik."