Kesilapan biasa semasa mengendalikan ralat fungsi dalam Go ialah ralat yang tidak dikendalikan, mengabaikan ralat tertentu dan menangkap berbilang ralat. Untuk mengendalikan ralat dengan betul, anda harus sentiasa mengendalikan nilai ralat yang mungkin dikembalikan oleh fungsi, menggunakan ralat. Adalah berfungsi untuk mengendalikan jenis ralat tertentu dan mentakrifkan jenis ralat tersuai atau menggunakan ralat. Fungsi baharu untuk mencipta nilai ralat untuk menangkap pelbagai ralat.
Isu pengendalian ralat biasa dalam fungsi dalam Go
Dalam Go, nilai ralat digunakan untuk mewakili masalah yang dihadapi semasa pelaksanaan fungsi. Walau bagaimanapun, apabila ia berkaitan dengan pengendalian ralat, terdapat beberapa kesilapan biasa yang boleh menyebabkan kod sukar untuk diselenggara dan nyahpepijat.
1. Ralat yang tidak dikendalikan
Ralat yang tidak dikendalikan akan mencetuskan panik apabila program sedang berjalan, menyebabkan program keluar. Untuk mengelakkan ini, sentiasa kendalikan nilai yang salah yang mungkin dikembalikan oleh fungsi.
2. Abaikan ralat tertentu
Kadangkala, anda mungkin hanya mengambil berat tentang jenis ralat tertentu. Dalam kes ini, anda boleh menggunakan fungsierrors.Is
seperti berikut:errors.Is
函数,如下所示:
if errors.Is(err, myError) { // 处理 myError 特定的情况 }
3. 捕获多个错误
Go 中,errors.New
type MyErrors []error func (me MyErrors) Error() string { var errStr string for _, err := range me { errStr += err.Error() + "\n" } return errStr }
3 Tangkap berbilang ralat
Dalam Go,errors.New
Fungsi ini boleh. mencipta nilai ralat, tetapi ia hanya menerima satu hujah rentetan. Untuk menangkap berbilang ralat, anda boleh menggunakan kaedah berikut:
func readFile(filename string) ([]byte, error) { data, err := os.ReadFile(filename) if err != nil { return nil, fmt.Errorf("error reading file: %w", err) } return data, nil }
Kes Sebenar: Pembacaan Fail
Berikut ialah contoh membaca fail menggunakan fungsi yang diberikan:rrreee
Fungsi ini mengendalikan kemungkinan ralat membaca fail dan menyediakan maklumat kontekstual tambahan mengikut keperluan.Atas ialah kandungan terperinci Isu pengendalian ralat biasa dalam fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!