Memahami Konsep Error Handling di Next.js App Router

Kamu pasti pernah mengalami saat menjelajahi situs web dan tiba-tiba muncul pesan error yang membuat kamu bingung, bukan? Nah, itulah mengapa error handling sangatlah penting dalam dunia pengembangan aplikasi web.

Di artikel ini, kita akan membahas tentang konsep dasar penanganan error di Next.js, sebuah framework yang banyak digunakan untuk membuat aplikasi web modern. Jangan khawatir jika kamu masih baru dalam hal ini, karena kita akan menjelaskan semuanya dengan cara yang mudah dimengerti.

Jadi, siapkan dirimu untuk mempelajari bagaimana Next.js dapat membantu kamu mengatasi berbagai masalah yang muncul saat pengembangan aplikasi web. Yuk, kita mulai!🚀

Konsep Dasar Error Handling di Next.js

Kamu pernah tidak, waktu lagi buka aplikasi atau website, tiba-tiba ada tulisan aneh muncul bilang "Something went wrong" atau "Terjadi kesalahan"? Itu namanya error, dan tidak ada yang suka kena error, kan? Nah, di Next.js, ada cara untuk menangani error seperti itu dengan lebih baik. Mari kita bahas tentang konsep dasarnya.

Di Next.js, konsep dasar error handling itu terkait dengan sebuah file bernama error.js. Jadi, ketika ada error yang terjadi di dalam aplikasi kamu, Next.js akan mencoba menangani error itu dengan cara yang lebih rapi dan terstruktur.

File error.js ini berfungsi sebagai semacam pembatas yang akan mengelola error yang terjadi di dalam aplikasi kamu. Misalnya, ketika ada bagian dari aplikasi kamu yang tiba-tiba error, Next.js akan pakai file error.js ini untuk menangani error tersebut. Ini berguna banget, karena tidak hanya membuat aplikasi tetap berjalan, tapi juga memastikan pengguna bisa melihat pesan kesalahan yang lebih ramah.

Saat kamu membuat UI untuk menampilkan pesan error, kamu bisa melakukan banyak hal. Kamu bisa tambahkan tombol untuk mencoba lagi, atau tampilkan pesan yang lebih jelas tentang apa yang sedang terjadi. Semua itu bisa kamu lakukan di dalam file error.js.

Jadi, intinya, konsep dasar error handling di Next.js itu tentang bagaimana kita membuat web tetap berjalan dengan baik, meskipun ada masalah yang muncul.

Implementasi Error Handling

Sekarang kita akan membicarakan bagaimana kamu bisa menerapkan error handling di aplikasi Next.js kamu. Yuk langsung saja bahas langkah-langkahnya🚀

Langkah Pertama: Membuat File error.js

Kita bikin file error.js di dalam folder route yang kamu mau. Nah, file ini nantinya akan jadi tempat buat menangani error yang muncul di route tersebut. Sebagai contohnya, kita akan membuat error handling di halaman home.

Langkah Kedua: Desain Tampilan Error

Setelah kamu buat error.js, sekarang saatnya buat tampilan yang keren buat error-nya. Kamu bisa tambahin pesan atau tombol yang bisa diklik buat mencoba lagi. Misalnya, kamu bisa kasih pesan kayak "Ups, ada kesalahan pada sistem!" atau "Coba lagi yuk!". Intinya, bikin tampilannya se-simple mungkin buat user.

Kamu bisa copy kode di bawah ini ke file error.js :

"use client"
export default function Error({ error, reset }) {

  return (
    <div className="flex flex-col h-screen w-full justify-center items-center ">
      <img src="<https://img.freepik.com/free-vector/oops-404-error-with-broken-robot-concept-illustration_114360-1932.jpg>" alt="image" className="h-[500px] w-[500px]" />
      <p>Ups, sepertinya ada kesalahan!</p>
      <div className="space-x-3 mt-4">
        <button className="bg-[#335EF7] px-4 py-3 rounded-full text-white font-semibold">Back to Home</button>
        <button className="bg-[#f6f8fd] px-4 py-3 rounded-full text-gray-700 font-semibold">Refresh Pages</button>
      </div>
    </div>
  )
}

Langkah Ketiga: Tambahkan Function reset()

Setelah kamu membuat UI, sekarang kamu tambahkan function reset() pada button di atas.

Seperti kode di bawah ini:

<button onClick={() => reset()} className="bg-[#335EF7] px-4 py-3 rounded-full text-white font-semibold">Back to Home</button>
<button onClick={() => reset()} className="bg-[#f6f8fd] px-4 py-3 rounded-full text-gray-700 font-semibold">Refresh Pages</button>

Dengan langkah-langkah ini, kamu bisa menjaga web kamu tetap berjalan lancar meskipun ada error yang muncul di tengah jalan.

Berikut adalah review gambar ketika web seketika ada error:

Kesimpulan

Menerapkan error handling dalam pengembangan aplikasi web memiliki keuntungan yang signifikan. Salah satunya, error handling memungkinkan aplikasi untuk tetap berjalan secara lancar meskipun terjadi kesalahan atau kondisi tak terduga lainnya.

Dari pembahasan dalam artikel ini, kamu telah mempelajari konsep dasar dan implementasi dari error handling di Next.js. Dengan memahami konsep error handling di Next.js, kamu dapat menghadapi error dengan lebih siap, meningkatkan pengalaman pengguna, dan memperbaiki aplikasi dengan cepat.

Buat kamu yang ingin mempelajari fitur-fitur selanjutnya, kamu bisa ikut kelas di BuildWithAngga. Salah satunya yaitu, Kelas Online Gratis NextJS Basic ataupun yang berupa project base yaitu, Kelas Online Full-Stack Next Js Website Flight Ticket.

Sampai jumpa di artikel selanjutnya, ya! Teruslah belajar dan kembangkan skill kamu dalam mengembangkan aplikasi web yang keren. Semangat! 🚀