Sobes.tech
Junior — Middle

Hogyan valósul meg a hibakezelés a Go nyelvben, hasonlóan más programozási nyelvek kivétel mechanizmusához?

sobes.tech MI

Válasz az MI-től

A Go nyelvben a hibakezelés visszatérő értékek segítségével valósul meg, nem kivételek révén, mint sok más nyelvben. A függvények és metódusok általában két értéket adnak vissza: az eredményt és a hibát (error). Ha a hiba nem nil, akkor hiba történt, és kezelni kell.

Hibakezelés példája Go-ban:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("nullával való osztás")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Hiba:", err)
        return
    }
    fmt.Println("Eredmény:", result)
}

Így a Go-ban nincs try-catch szerkezet; helyette a hibák explicit módon átadásra és ellenőrzésre kerülnek, ami átláthatóbb és kontrolláltabb hibakezelést tesz lehetővé.