Go Error Handling Wrapping Sentinel Custom Panic Recover
Definisi
Di Go, error adalah nilai biasa yang di-return dari fungsi, bukan exception. Konvensi umumnya: fungsi yang mungkin gagal mengembalikan (value, error), dan caller wajib mengecek error sebelum memakai value-nya.
value, err := doSomething()
if err != nil {
return fmt.Errorf("doSomething gagal: %w", err)
}Kapan dipakai
Pakai error untuk setiap operasi yang bisa gagal di runtime: I/O, network, parse, validasi, query database. Error bukan untuk mengontrol alur normal; kalau itu alur bisnis biasa (misal "keranjang kosong"), pakai nilai return biasa, bukan error.
Cara kerja
Sentinel error
Error yang dideklarasikan sebagai variabel package-level, dipakai untuk perbandingan identitas.