Maison > développement back-end > Golang > le corps du texte

Comment personnaliser la gestion des erreurs dans Golang ?

WBOY
Libérer: 2024-06-02 09:04:58
original
649 Les gens l'ont consulté

La méthode de personnalisation des erreurs Golang consiste à créer un type d'erreur personnalisé et à implémenter l'interface error.Error. Dans des cas pratiques, utilisez un gestionnaire d'erreurs personnalisé pour spécifier les informations d'erreur plus spécifiquement afin de faciliter le débogage et le traitement.

如何自定义处理 Golang 中的错误?

Comment gérer de manière personnalisée les erreurs dans Golang ?

Golang fournit un mécanisme de gestion des erreurs intégré, mais vous devrez parfois personnaliser la gestion des erreurs. Ce didacticiel vous apprendra comment créer des gestionnaires d'erreurs personnalisés et les appliquer dans des cas d'utilisation réels.

Gestionnaire d'erreurs personnalisé

Pour créer un gestionnaire d'erreurs personnalisé, utilisez l'interface error.Error. Cette interface accepte une description d'erreur de type chaîne comme paramètre. error.Error 接口。此接口接受一个字符串类型的错误描述作为参数。

package myerrors

import "fmt"

type MyError struct {
    errorString string
}

func (e *MyError) Error() string {
    return e.errorString
}

func NewMyError(errorString string) error {
    return &MyError{errorString: errorString}
}
Copier après la connexion

NewMyError 函数返回一个实现 error 接口的 MyError 类型。Error 方法返回错误描述字符串。

实战案例:验证用户输入

假设我们有一个函数 ValidateUserInput,它验证用户输入,如果输入无效,则返回错误。

package main

import (
    "fmt"
    "log"

    "myerrors"
)

func ValidateUserInput(input string) error {
    if input == "" {
        return myerrors.NewMyError("输入为空")
    }

    if len(input) < 5 {
        return myerrors.NewMyError("输入长度太短")
    }

    return nil
}

func main() {
    input := "Golang"

    err := ValidateUserInput(input)
    if err != nil {
        log.Fatalf("输入验证失败: %v", err)
    }

    fmt.Println("输入已验证成功")
}
Copier après la connexion

ValidateUserInput 函数中,我们使用 NewMyError 函数创建自定义错误。然后,我们在 mainrrreee

La fonction NewMyError renvoie un type MyError qui implémente l'interface error. La méthode Error renvoie une chaîne de description de l'erreur.

🎜Cas pratique : Valider la saisie de l'utilisateur🎜🎜🎜Supposons que nous ayons une fonction ValidateUserInput, qui valide la saisie de l'utilisateur et renvoie une erreur si la saisie n'est pas valide. 🎜rrreee🎜Dans la fonction ValidateUserInput, nous utilisons la fonction NewMyError pour créer une erreur personnalisée. Nous vérifions ensuite les erreurs dans la fonction main et imprimons le message d'erreur approprié. 🎜🎜En utilisant un gestionnaire d'erreurs personnalisé, nous pouvons spécifier les informations d'erreur plus spécifiquement, ce qui facilite le débogage et la gestion. 🎜

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