Maison > développement back-end > Golang > Conseils de gestion des erreurs et de journalisation pour les fonctions Golang

Conseils de gestion des erreurs et de journalisation pour les fonctions Golang

WBOY
Libérer: 2023-05-17 23:31:34
original
705 Les gens l'ont consulté

Dans la programmation Golang, la gestion des erreurs et la journalisation des fonctions sont cruciales. Une bonne gestion des erreurs et une bonne journalisation peuvent rendre le programme plus robuste et fiable pendant le fonctionnement. Cet article présentera les techniques de gestion des erreurs et de journalisation pour les fonctions Golang.

1. Gestion des erreurs Golang

Dans Golang, une erreur est une valeur qui satisfait au type d'interface Error dans la bibliothèque standard du package Go. Cette interface n'a qu'une seule méthode Error, qui renvoie une chaîne expliquant l'erreur. Une fonction peut renvoyer une valeur de type erreur pour indiquer si une erreur s'est produite lors de l'exécution de la fonction. Cela fait de la gestion des erreurs un objectif inhérent à la programmation en langage Golang.

La gestion des erreurs doit toujours être prise en compte lors de l'écriture du code. Si vous souhaitez écrire une fonction, vous pouvez effectuer deux tâches importantes. Tout d’abord, le résultat de l’achèvement de la fonction doit être renvoyé. Deuxièmement, toutes les erreurs qui surviennent doivent être renvoyées. Voici un exemple de fonction pouvant renvoyer une erreur :

func divide(a, b int) (float64, error) {
    if b == 0 {
        return 0, fmt.Errorf("division by zero")
    }
    return float64(a) / float64(b), nil
}
Copier après la connexion

Cette fonction vérifie si le dénominateur est zéro. Si tel est le cas, une erreur est renvoyée. Sinon, une valeur à virgule flottante divisée par les deux entiers est renvoyée.

result, err := divide(12, 0)
if err != nil {
    fmt.Println(err)
} else {
    fmt.Println(result)
}
Copier après la connexion

Dans cet exemple, nous appelons la fonction Divide() avec dividend=12 et Divider=0. Puisque le dénominateur est 0, la fonction renvoie une erreur. Nous avons ensuite vérifié et traité l'erreur.

Lors de l'écriture du code d'application, nous devons utiliser plusieurs techniques et modèles de gestion des erreurs. Par exemple, nous pouvons parfois rencontrer plusieurs erreurs. Dans ce cas, chaque erreur peut être vérifiée à l’aide d’une instruction switch. D'un autre côté, si nous devons renvoyer plusieurs valeurs de la fonction, nous pouvons faire de la valeur d'erreur le dernier élément de la liste de résultats.

func parseAge(age string) (int, error) {
    parsedAge, err := strconv.Atoi(age)
    if err != nil {
        return 0, fmt.Errorf("invalid age input: %s", age)
    }
    if parsedAge < 0 || parsedAge > 100 {
        return 0, fmt.Errorf("age out of range: %d", parsedAge)
    }
    return parsedAge, nil
}
Copier après la connexion

Cette fonction accepte un paramètre age de type chaîne et tente de l'analyser. Si l'analyse échoue, la fonction renvoie une erreur. Si l'analyse est réussie, vérifiez si la valeur est comprise entre 0 et 100. S'il n'est pas à portée, la fonction renverra également une autre erreur.

2. Journalisation Golang

La journalisation est un composant essentiel de l'écriture d'applications robustes. La connexion à Golang est une méthode d'enregistrement des informations d'exécution du programme dans un fichier ou un terminal.

Il existe plusieurs façons de se connecter lors de l'écriture du code Golang. Le plus simple consiste à utiliser le package de journaux de la bibliothèque standard. Vous pouvez utiliser ce package pour vous connecter à la console et à un fichier.

package main

import (
    "log"
    "os"
)

func main() {
    logFile, err := os.Create("example.log")
    if err != nil {
        log.Fatal(err)
    }
    defer logFile.Close()
    log.SetOutput(logFile)
    log.Println("This is an example log message.")
}
Copier après la connexion

Dans cet exemple, nous ouvrons un fichier example.log. Utilisez ensuite la fonction log.SetOutput() pour vous connecter dans un fichier au lieu du terminal. Enfin, nous enregistrons un message à l'aide de la fonction log.Println().

De plus, il existe des bibliothèques fonctionnelles pour la connexion dans Golang, telles que zap, logrus, etc. Ces bibliothèques sont très utiles pour enregistrer des informations détaillées sur l'exécution des applications.

Enfin, utiliser une bonne journalisation nous oblige à écrire de bons messages de journal. Les bons messages de journal doivent clairement indiquer l'occurrence et l'emplacement de l'événement de journal dans l'application.

3. Conclusion

La gestion des erreurs et la journalisation sont des composants nécessaires pour écrire des applications robustes. Golang fournit des fonctions et des packages intégrés qui peuvent nous aider à faciliter la gestion des erreurs et la journalisation. Nous devons toujours réfléchir à la manière de mettre en œuvre une bonne gestion des erreurs et une bonne journalisation dans notre code. Ce n'est qu'ainsi que nous pourrons réussir à développer et à maintenir des applications Golang.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal