Rumah > pembangunan bahagian belakang > Golang > golang err 转string

golang err 转string

WBOY
Lepaskan: 2023-05-10 10:03:06
asal
873 orang telah melayarinya

Ralat pengendalian dalam bahasa Go agak berbeza daripada bahasa lain Jenis error biasanya digunakan untuk mewakili hasil fungsi Jika fungsi gagal dilaksanakan, nilai ralat dikembalikan. Dalam bahasa Go, tiada mekanisme pengecualian, dan semua ralat mesti dikembalikan dan dikendalikan. Apabila mengendalikan ralat, selalunya perlu untuk menukar maklumat ralat kepada output rentetan atau menulis log. Terdapat dua cara untuk

menukar jenis error kepada rentetan, iaitu menggunakan kaedah error antara muka Error() dan menggunakan fungsi fmt pakej Sprintf().

Gunakan kaedah Ralat() antara muka ralat

error Antara muka ialah spesifikasi yang mengandungi satu kaedah Error() string Jenis yang melaksanakan antara muka ini mewakili keadaan ralat. Kita boleh menggunakan kaedah ini untuk mendapatkan perwakilan rentetan ralat.

Kod sampel:

package main

import (
    "errors"
    "fmt"
)

func main() {
    err := errors.New("发生了一个错误")
    fmt.Println(err.Error())
}
Salin selepas log masuk

Output program:

发生了一个错误
Salin selepas log masuk
Salin selepas log masuk

Ini menukarkan jenis error kepada jenis rentetan.

Gunakan fungsi fmt.Sprintf()

Selain menggunakan kaedah error antara muka Error() untuk menukar ralat, kita juga boleh menggunakan fungsi fmt dalam Sprintf() pakej ke ralat format Tukar kepada output rentetan.

Kod sampel:

package main

import (
    "errors"
    "fmt"
)

func main() {
    err := errors.New("发生了一个错误")
    fmt.Println(fmt.Sprintf("%v", err))
}
Salin selepas log masuk

Output program:

发生了一个错误
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda lihat, menggunakan fungsi fmt.Sprintf() untuk mengeluarkan ralat dan menggunakan antara muka error Error() ralat keluaran kaedah Kandungan adalah sama.

Tulis ralat untuk log

Selain mengeluarkan maklumat ralat, kami juga boleh menulis ralat untuk log fail, yang memudahkan penyelesaian masalah kemudian.

Kod sampel:

package main

import (
    "errors"
    "log"
)

func main() {
    err := errors.New("发生了一个错误")
    log.Println("错误信息:", err)
}
Salin selepas log masuk

Keluaran program:

2021/08/12 20:06:19 错误信息: 发生了一个错误
Salin selepas log masuk

Seperti yang anda lihat, gunakan fungsi log pakej Println() untuk menulis maklumat ralat pada log fail.

Ringkasan

Dalam bahasa Go, terdapat dua cara untuk menukar jenis error kepada rentetan, iaitu menggunakan kaedah error antara muka Error() dan menggunakan fmt pakej Fungsi Sprintf(). Pada masa yang sama, kami juga boleh menulis maklumat ralat pada fail log untuk memudahkan penyelesaian masalah.

Atas ialah kandungan terperinci golang err 转string. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan