Maison > développement back-end > Golang > Méthode de lancement d'erreur Golang

Méthode de lancement d'erreur Golang

Libérer: 2020-01-14 16:13:53
original
4047 Les gens l'ont consulté

Méthode de lancement d'erreur GolangLe langage Go ne fournit pas de méthode de gestion des exceptions try...catch comme le langage Java et C#, mais le lance couche par couche via la valeur de retour de la fonction.

La fonction de gestion des erreurs fournie par le package standard Go :

l'erreur est une interface :

type error interface {
    Error() string
}
Copier après la connexion

Comment créer une erreur :

// example 1
func Sqrt(f float64) (float64, error) {
    if f < 0 {
        return 0, errors.New("math: square root of negative number")
    }
    // implementation
}

// example 2
if f < 0 {
    return 0, fmt.Errorf("math: square root of negative number %g", f)
}
Copier après la connexion

Comment personnaliser error:

// errorString is a trivial implementation of error.
type errorString struct {
    s string
}

func (e *errorString) Error() string {
    return e.s
}
Copier après la connexion

Il existe généralement trois stratégies de gestion des erreurs dans le langage Go :

1 Renvoyer et vérifier les valeurs d'erreur : le succès et les différentes erreurs sont représentés par des valeurs spécifiques et la couche supérieure. Le code vérifie la valeur de l'erreur pour déterminer ce qui est appelé. Statut d'exécution de func

2. Types d'erreur personnalisés : les erreurs spécifiques sont représentées par des types d'erreur personnalisés et le code de niveau supérieur détermine le type d'erreur via le type. assertions

3. Masquage des détails internes Gestion des erreurs : supposons que le code de niveau supérieur ne connaît aucun détail de l'erreur renvoyée par la fonction appelée et renvoie directement l'erreur vers le haut. l'

interface d'erreur est destinée aux gens, pas à la machine. Nous imprimons généralement la chaîne renvoyée par la méthode Error dans le journal ou l'affichons sur la console. Ne déterminez jamais comment gérer une erreur en déterminant si la chaîne renvoyée par la méthode Error contient une chaîne spécifique.

Pour plus de connaissances sur le golang, veuillez faire attention à la colonne tutoriel 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