Kali ini kita akan membahas tentang Defer, Panic & Recover. Fungsi fungsi ini bisa untuk menggantikan try except , atau try catch jika kita menggunakan bahasa pemrograman selain golang. Karena di golang tidak ada try, maka kita bisa menggunakan fungsi Defer, Panic & Recover untuk menggantikan try and catch sebagai error handling.

 

Deffer

  • Defer adalah sebuah sebuah statement yang berfungsi untuk menunda eksekusi sebuah fungsi sampai fungsi terdekatnya selesai melakukan eksekusi atau mengembalikan sebuah nilai
  • Fungsi yang dipanggil denggan statement defer pasti selalu dijalankan walaupun terjadi error saat eksekusi
  • Statment deffer akan dipanggil di akhir fungsi

Panic

  • Function Panic adalah sebuah fungsi yang digunakan untuk menghentikan program
  • Function Panic fungsi biasanya akan terpanggil saat terjadi error pada program kita
  • Function Panic fungsi juga bisa kita panggil secara manual, ini berguna ketika misalnya kita melakukan pengecekan terhadap suatu kondisi
  • Ketika Function panic  dipanggil, function yang menggunakan statement defer akan selalu dijalankan walaupun program dihentikan

Recover

  • Recover adalah fungsi yang berfungsi untuk menangkap data dari panic function
  • Dengan recover proses panic akan terhenti, sehingga program akan tetap berjalan
  • Recover function fungsinya mirip seperti catch pada bahasa pemrograman lain