Go memilih kesederhanaan: error adalah nilai biasa yang dikembalikan fungsi, bukan mekanisme exception yang tersembunyi. Pendekatan ini membuat jalur kegagalan tampak jelas di kode. Section ini membahas error interface, pembuatan dan pembungkusan error, pemeriksaan rantai error dengan errors.Is dan errors.As, serta kapan panic dan recover memang tepat dipakai.
Pahami error sebagai interface dengan satu method Error() string.
Buka → # Membuat ErrorBuat error dengan errors.New dan fmt.Errorf sesuai konteksnya.
Buka → # Sentinel ErrorDefinisikan error acuan dan bandingkan keberadaannya dengan errors.Is.
Buka → # Custom Error TypeBuat tipe error sendiri yang membawa konteks tambahan.
Buka → # Error WrappingBungkus error dengan verb %w agar rantai penyebab tetap utuh.
Buka → # errors.Is dan errors.AsPeriksa rantai error dengan errors.Is dan ambil detailnya dengan errors.As.
Buka → # panic dan recoverGunakan panic untuk kondisi tak terpulihkan dan recover sebagai jaring pengaman.
Buka → # Error BoundaryBatasi penyebaran error pada batas antar lapisan aplikasi.
Buka → # Strategi Error HandlingPilih strategi: kembalikan, bungkus, retry, atau gagal cepat.
Buka →