Tunda, Panik & Pulihkan Golang

tunda panik pulihkan

Tunda, Panik & Pulihkan

Go memiliki pernyataan khusus yang disebut penundaan yang menjadwalkan panggilan fungsi untuk dijalankan setelah fungsi selesai. Perhatikan dan silakan ikuti contoh coding berikut:

package main 
import "fmt" 
func first() { 
fmt.Println("1st") } 
func second() { 
fmt.Println("2nd") } 
func main() { 
defer second() 
first()
}

Tunda, Panik & Pulihkan Golang
hasil coding


Program ini mencetak 1st diikuti oleh 2nd. Pada dasarnya menunda memindahkan panggilan kedua ke akhir fungsi, untuk sebaliknya silakan lihat contoh coding dibawah:
func main () {
second ()
first () }
tunda panik pulihkan golang
hasil coding


menunda sering digunakan ketika sumber daya harus dibebaskan dalam beberapa cara tertentu. Misalnya ketika kita membuka file, kita perlu memastikan untuk menutupnya nanti. Dengan penundaan seperti ini :
f, _: = os.Open (filename) tunda f.Close ()
Cara ini memiliki 3 keuntungan: 
  1. itu membuat panggilan close dekat dengan panggilan open, sehingga lebih mudah untuk dipahami, 
  2. jika fungsi memiliki beberapa pernyataan kembali (mungkin satu dalam if dan satu di lain) close akan terjadi sebelum keduanya dari printah tersebut terjadi, dan 
  3. fungsi yang ditangguhkan dijalankan bahkan jika terjadi panik run-time.

Panik & Pulih

Sebelumnya kita membuat fungsi yang disebut fungsi panik untuk menyebabkan kesalahan waktu proses. Kita dapat menangani panik run-time dengan fungsi pemulihan bawaan. memulihkan menghentikan kepanikan dan mengembalikan nilai yang dilewatkan ke panggilan untuk panik. Kita mungkin tergoda untuk menggunakannya seperti ini:

package main 
import "fmt" 
func main() { 
panic("PANIC") 
str := recover() 
fmt.Println(str) }


Tetapi panggilan untuk memulihkan tidak akan pernah terjadi dalam kasus ini karena panggilan untuk panik segera menghentikan eksekusi fungsi. Sebaliknya kita harus memasangkannya dengan penundaan seperti coding berikut:

package main
import "fmt"
func main() { 
defer func() { 
str := recover() 
fmt.Println(str) }()
panic("PANIC") }

Tunda, Panik & Pulihkan Golang
hasil coding


Kepanikan umumnya menunjukkan kesalahan programmer (misalnya mencoba mengakses indeks array yang di luar batas, lupa untuk menginisialisasi peta, dll) atau kondisi luar biasa yang tidak ada cara mudah untuk memulihkannya. (Oleh karena itu diberi nama "PANIC")



MATERI GOLANG

Jika kamu baru di pembelajaran golang, silakan untuk belajar dari materi pertama 

Berlangganan update artikel terbaru via email:

0 Response to "Tunda, Panik & Pulihkan Golang"

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel