Junior — Middle
Кадом намуди истисно ё хатоҳо дар забони Go метавонанд идора карда шаванд?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go системаи анъанавии истисно вуҷуд надорад, ҳамчун дар баъзе дигар забонҳо. Ба ҷои он, хатоҳо бо истифода аз арзишҳои баргардонидашудаи навъи error идора карда мешаванд.
Роҳҳои асосии идоракунии хатоҳо дар Go:
- Баргардонидани хато аз функсия: функсия арзиш ва хато баргардонанд, ки бояд санҷида шаванд.
- Panic (
panic) ва барқароркунӣ (recover): барои идоракунии хатоҳои критикӣ истифода мешаванд, ки одатан ба қатъи барнома оварда мерасонанд, аммо метавон онҳоро фатҳ кард.
Масалан барои идоракунии хато:
func readFile(filename string) ([]byte, error) {
data, err := os.ReadFile(filename)
if err != nil {
return nil, err
}
return data, nil
}
func main() {
data, err := readFile("file.txt")
if err != nil {
fmt.Println("Хатои хондани файл:", err)
return
}
fmt.Println(string(data))
}
Тавре ки мебинем, дар Go хатоҳое, ки функсияҳо баргардонанд, идора карда мешаванд, на истисноҳо дар маънои анъанавӣ.