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