Maison >développement back-end >Golang >Comment la gestion des erreurs est-elle implémentée dans les fonctions Golang ?

Comment la gestion des erreurs est-elle implémentée dans les fonctions Golang ?

WBOY
WBOYoriginal
2024-06-03 11:21:57449parcourir

La gestion des erreurs de fonction dans le langage Go est implémentée en renvoyant une erreur de type interface d'erreur. 1. La méthode Error() du type d'interface d'erreur intégrée renvoie une chaîne de description de l'erreur. 2. Gérez l'erreur en comparant if err != nil pour voir si l'erreur est vide. 3. La gestion des erreurs convient aux applications pratiques telles que la lecture de fichiers et les requêtes de bases de données.

Comment la gestion des erreurs est-elle implémentée dans les fonctions Golang ?

Implémentation de la gestion des erreurs de fonction en langage Go

En langage Go, les fonctions peuvent être implémentées en renvoyant une méthode error 接口类型的错误,表示函数的执行失败。错误处理是通过调用内建的 error 接口类型的 Error(), qui renvoie une chaîne décrivant l'erreur.

Exemple de code :

Ce qui suit est un exemple simple de gestion des erreurs :

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("division by zero") // 返回错误
    }
    return a / b, nil // 返回结果和 nil(无错误)
}

func main() {
    result, err := divide(10, 2)
    if err != nil {
        fmt.Println("Error:", err.Error()) // 处理错误
    } else {
        fmt.Printf("Result: %d\n", result)
    }
}

Cas réel :

Lecture de fichiers :

func readFile(filename string) ([]byte, error) {
    data, err := ioutil.ReadFile(filename)
    if err != nil {
        return nil, errors.New("could not read file: " + filename)
    }
    return data, nil
}

Requête de base de données :

func queryDatabase(query string) (*sql.Rows, error) {
    rows, err := db.Query(query)
    if err != nil {
        return nil, errors.New("could not execute query: " + query)
    }
    return rows, nil
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn