Sobes.tech
Junior — Middle

Kādi izņēmumi vai kļūdas var tikt apstrādātas Go valodā?

sobes.tech AI

Atbilde no AI

Go valodā nav tradicionālas izņēmumu sistēmas, kā dažās citās valodās. Tā vietā kļūdas tiek apstrādātas, izmantojot atgrieztās vērtības, kas ir error tips.

Galvenie veidi, kā apstrādāt kļūdas Go:

  • Atgriezt kļūdu no funkcijas: funkcija atgriež vērtību un kļūdu, kuras ir jāpārbauda.
  • Panik (panic) un atkopšana (recover): tiek izmantoti kritisku kļūdu apstrādei, kas parasti noved pie programmas pārtraukšanas, bet var tikt noķerti.

Kļūdu apstrādes piemērs:

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("Kļūda, lasot failu:", err)
        return
    }
    fmt.Println(string(data))
}

Tādējādi Go tiek apstrādātas funkcijām atgrieztās kļūdas, nevis izņēmumi tradicionālajā nozīmē.