Panik ialah mekanisme pengendalian pengecualian dalam bahasa pengaturcaraan golang Apabila program menghadapi ralat yang membawa maut, ia akan menggunakan fungsi panik untuk mencetuskan panik dan menghentikan pelaksanaan program dengan serta-merta. Artikel ini akan memperkenalkan konsep panik dan cara menangani panik.
Berikut ialah contoh program mudah, anda boleh mencuba sendiri kesan fungsi panik:
package main func main() { panic("出错了") }
Di sini, kami secara eksplisit memanggil fungsi panik dan menukar rentetan "ralat " dihantar kepadanya sebagai parameter. Program akan berhenti berjalan serta-merta di sini, dan outputnya adalah seperti berikut:
panic: 出错了 goroutine 1 [running]: main.main() /tmp/sandbox657484611/main.go:4 +0x2a
Berikut ialah contoh program Kami menggunakan ralat:
package main import ( "errors" ) func main() { err := errors.New("这里出错了") panic(err) }
Selepas dijalankan, kami akan melihat output berikut dalam tetingkap terminal:
panic: 这里出错了 goroutine 1 [running]: main.main() /tmp/sandbox633080144/main.go:7 +0x2f
Semasa anda. boleh lihat daripada output di atas, kami berjaya memaparkan mesej ralat tersuai dalam keadaan panik.
Fungsi pulih ialah fungsi terbina dalam yang boleh digunakan dalam fungsi tangguh. Kami boleh menyambung semula pelaksanaan program apabila panik berlaku, supaya keseluruhan program tidak ranap, dan kami boleh mendapatkan mesej ralat panik.
Berikut ialah contoh penggunaan panik dan pulih bersama:
package main import "fmt" func main() { defer func() { r := recover() if r != nil { fmt.Println("发生了 panic:", r) } }() panic("出错了") }
Dalam atur cara ini, kami menggunakan fungsi penangguhan akan dilaksanakan sebelum tamat blok kod semasa. jadi kami Anda boleh melakukan operasi pemulihan apabila program panik.
Dalam fungsi pulih, kami menyimpan mesej ralat panik dan memaparkannya dalam terminal. Menjalankan program sampel ini, kita dapat melihat output berikut:
发生了 panic: 出错了
Dalam program sampel di atas, kami mencetuskan fungsi panik dan menggunakan fungsi pulih dalam penangguhan untuk pulih. Jalankan fungsi pulih dalam penangguhan untuk menangkap panik Jika panik berlaku, ia boleh dikendalikan dalam fungsi penangguhan.
Ringkasnya, dalam golang, panik boleh dengan mudah mengendalikan pengecualian dalam aliran program. Mekanisme panik boleh merekodkan maklumat surih tindanan bagi setiap program Go dan kemudian menggunakan maklumat ini untuk melaporkan ralat. Perlu diingat bahawa walaupun mekanisme panik sangat berkuasa, ia harus digunakan dengan berhati-hati dalam pengaturcaraan sebenar untuk mengelakkan menjejaskan kestabilan keseluruhan program.
Atas ialah kandungan terperinci ralat piawai panik golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!