Study
Fiber

Error Handling

Penjelasan

Fiber punya default error handler bawaan, bisa DIGANTI lewat opsi ErrorHandler saat fiber.New(fiber.Config{...}) — dipanggil OTOMATIS setiap kali handler mengembalikan error, mirip HTTPErrorHandler Echo tapi didaftarkan lewat Config saat inisialisasi app, bukan properti terpisah setelahnya.

Contoh Konsep

app := fiber.New(fiber.Config{
	ErrorHandler: func(c *fiber.Ctx, err error) error {
		code := fiber.StatusInternalServerError

		if e, ok := err.(*fiber.Error); ok {
			code = e.Code
		}

		return c.Status(code).JSON(fiber.Map{
			"success": false,
			"error":   err.Error(),
		})
	},
})

Praktikum

Buat konfigurasi fiber.Config dengan ErrorHandler yang merespons format JSON {"success": false, "pesan": err.Error()}. Pakai konfigurasi itu saat memanggil fiber.New().

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

return fiber.NewError(fiber.StatusNotFound, "Produk tidak ditemukan") di dalam handler route adalah cara idiomatis melempar error terstruktur di Fiber — sama konsepnya dengan echo.NewHTTPError() di Echo, ErrorHandler custom-mu menerimanya lewat type assertion *fiber.Error.