Memperkayakan aplikasi Go anda dengan jenis ralat tersuai meningkatkan pengendalian ralat, tetapi memanipulasi jenis tersuai ini boleh menjadi mencabar. Mari kita mendalami isu menyemak jenis ralat tersuai.
Pertimbangkan jenis ralat tersuai berikut:
type ModelMissingError struct { msg string // description of error } func (e *ModelMissingError) Error() string { return e.msg }
Dalam satu kaedah, kami boleh membuang ralat tersuai:
return Model{}, &ModelMissingError{"no model found for id"}
Untuk menentukan sama ada ralat jenis tersuai tertentu, kita perlu menyemak jenisnya. Walau bagaimanapun, pendekatan if err == model.ModelMissingError gagal.
Go menyediakan koma ok idiom untuk menyemak penegasan jenis:
serr, ok := err.(*model.ModelMissingError)
Pernyataan ini menegaskan bahawa pembolehubah ralat err memegang model.ModelMissingError type dan memberikan nilai asas kepada pembolehubah serr. Jika err tidak mempunyai jenis yang dijangkakan, pernyataan itu akan mengembalikan sifar untuk serr dan false untuk ok.
Dengan menggunakan simpulan bahasa ok koma, kami boleh mengesahkan jenis ralat tersuai dengan cekap dan mengendalikannya dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Jenis Ralat Tersuai dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!