Belajar Golang #33 : Menggunakan Panic dan Recover

Tutorial golang ke – 33 yang membahas kegunaan panic dan recover. Selain itu juga di berikan contoh cara menggunakan panic dan recover untuk kebutuhan penanganan kesalahan.

Apa itu Panic ?

Siapa sih yang tidak mengerti ari panic dalam kehidupan secara nyata. Bahkan panic ini juga ada di dalam fungsi golang. Panic adalah salah satu cara untuk mengentikan program ketika menangani error.

Lalu kenapa harus menggunakan panic ?

Panic di karenakan karena adanya error yang tidak terduga maka program harus di hentikan. Hasil error dari panic sama dengan ketika kita menggunakan fungsi string untuk mencetak error, seperti fmt.println.

Kapan baiknya menggunakan Panic ?

Hal yang paling penting ketika menggunakan panic yaitu kesalahan yang tidak dapat di pulihkan lagi.

Ada 2 hal yang memungkinkan kita menggunakan panic.

Apa saja itu ?

1. Kesalahan yang tidak dapat di pulihkan, dimana program tidak dapat melanjutkan ke proses berikutnya.

Salah satu contohnya ketika kita ingin menjalankan http web server dengan golang, dimana harus memberikan port untuk di jalan. Ketika port tersebut tidak di buka di komputer server maka dapat menggunakan panic karena ketika di lanjutkan pun tidak akan berfungsi proses berikutnya.

2. Kesalahan Programmer

Salah satu contohnya, ketika kita ingin memanggil fungsi atau method dimana fungsi tersebut harus di berikan parameter tipe data apapun dengan tipe pointer. Dan ketika pemanggilan fungsi tersebut menggunakan argument nil maka dapat menggunakan pesan error panic.

Cara menggunakan Panic

Hasilnya :

Belajar Golang #33 : Menggunakan Panic dan Recover
Cara menggunakan Panic di Golang

Perhatikan kode di atas, saya memberikan 2 kasus sekaligus. Dimana pada fungsi input berguna untuk melakukan pemeriksaan input pengguna,ketika teks yang di masukkan kurang dari 3 maka akan di buat error panic dan tidak bisa melakukan ke eksekusi berikutnya.

Selain itu pada fungsi cetak digunakan untuk mencetak nilai string, dimana jika parameter pada fungsi tersebut berupa string maka program berjalan baik namun jika parameter yang dikirim nil maka akan menimbulkan pesan error panic.

Jika di lihat error di ataas dapat di baca terdapat goroutine yang error.

Oke, saya harap anda sudah paham.

Sekarang kita lanjut ke recover.

Apa itu Recover ?

Recover adalah penanganan panic error dimana pesan error tidak akan di munculkan dan mendapatkan kembali goroutine yang panic.

Dengan menggunakan recover dapat menggantikan penggunaan panic dan di rasa lebih tepat. Atau juga dapat menggunakan keduanya.

Yuk sekarang kita buat contohnya.

Cara menggunakan Recover

Kita akan buat dengan potongan kode pertama mengenai penggunaan panic.

main.go

Hasilnya :

Belajar Golang #33 : Menggunakan Panic dan Recover
Cara menggunakan Recover di Golang

Perthatikan kode di atas, terdapat fungsi dengan nama recoverCetak(), fungsi ini digunakan untuk melakukan proses yang di panggil dari fungsi cetak(). Perlu di perhatikan untuk memanggil fungsi recover harus di blok kode terakhir dalam sebuah fungsi atau jika ingin meletakkan di awal harus dengan awalan defer.

Apabila meleetakkan pemanggilan recover di awal blok kode maka pesan error panic akan tetap di munculkan.

Contoh di atas kita perlu buat fungsi lagi, apabila ingin memberikan recover di dalam blok fungsi juga dapat di lakukan.

Berikut ini kode program golang nya.

main.go

Hasil running dari program di atas sama dengan program sebelumnya.

Okay, sekian tutorial golang mengenai pneggunaan panic dan recover. Terima kasih.

Leave a Reply