Junior — Middle
Go dilində hansı növ istisnalar və ya səhvlər idarə oluna bilər?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində ənənəvi istisna sistemi yoxdur, bəzi digər dillərdə olduğu kimi. Əvəzinə, səhvlər error tipi ilə geri qaytarılan dəyərlər vasitəsilə idarə olunur.
Go-da səhvlərin idarə olunmasının əsas üsulları:
- Funksiyadan səhv geri qaytarmaq: funksiya dəyər və səhv geri qaytarır, onları yoxlamaq lazımdır.
- Panik (
panic) və bərpa (recover): kritik səhvləri idarə etmək üçün istifadə olunur, adətən proqramın dayanmasına səbəb olurlar, lakin tutulabilir.
Səhvlərin idarə olunması nümunəsi:
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("Faylı oxuyarkən xəta:", err)
return
}
fmt.Println(string(data))
}
Beləliklə, Go-da funksiyalardan geri qaytarılan səhvlər idarə olunur, ənənəvi mənada istisnalar deyil.