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

Type d'erreur de fonction Golang personnalisée

WBOY
Libérer: 2024-05-02 14:36:02
original
397 Les gens l'ont consulté

Oui, vous pouvez définir des types d'erreur personnalisés dans Go en créant une structure qui implémente l'interface d'erreur et en fournissant la méthode Error() pour renvoyer un message d'erreur. Des types d'erreur personnalisés peuvent être créés à l'aide de la fonction error.New ou d'un type personnalisé. En pratique, les types d'erreur personnalisés peuvent fournir des messages d'erreur plus spécifiques et significatifs, améliorant ainsi la convivialité et la maintenabilité de l'application.

Type derreur de fonction Golang personnalisée

Types d'erreurs de la fonction Go personnalisée

Dans Go, les erreurs sont généralement représentées via l'interface erreur intégrée. Cependant, il est parfois nécessaire de définir des types d'erreur personnalisés spécifiques à l'application. Cet article décrit comment créer un type d'erreur personnalisé et fournit un cas pratique. error 接口表示。但是,有时需要定义特定于应用程序的自定义错误类型。本文介绍如何创建自定义错误类型,并提供一个实战案例。

创建自定义错误类型

自定义错误类型可以通过创建实现 error 接口的结构体来实现。

type MyError struct {
    msg string
}

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

Error() string 方法返回错误消息,这是 error 接口的一个要求。

用法

自定义错误类型可以使用 errors.New

Créer des types d'erreur personnalisés

Les types d'erreur personnalisés peuvent être implémentés en créant une structure qui implémente l'interface erreur.

err := errors.New("my error message")
Copier après la connexion

La méthode Error() string renvoie un message d'erreur, ce qui est une exigence de l'interface error.

Utilisation

Des types d'erreur personnalisés peuvent être créés à l'aide de la fonction errors.New, qui accepte un paramètre de chaîne comme message d'erreur.

err := &MyError{msg: "my error message"}
Copier après la connexion

Alternativement, vous pouvez créer une erreur en utilisant un type personnalisé :

type InvalidAgeError struct {
    msg string
}

func (e *InvalidAgeError) Error() string {
    return e.msg
}
Copier après la connexion
Exemple pratique

Scénario :

Validez l'âge renseigné par l'utilisateur.

Type d'erreur :

func ValidateAge(age int) error {
    if age < 18 {
        return &InvalidAgeError{msg: "年龄必须大于或等于 18"}
    }
    return nil
}
Copier après la connexion

🎜Code de vérification d'erreur : 🎜🎜
age := 15
err := ValidateAge(age)
if err != nil {
    fmt.Println("错误:", err)
} else {
    fmt.Println("年龄已验证")
}
Copier après la connexion
🎜🎜Code de gestion des erreurs : 🎜🎜
错误:年龄必须大于或等于 18
Copier après la connexion
🎜🎜Sortie : 🎜🎜rrreee🎜 Les types d'erreur personnalisés fournissent des messages d'erreur significatifs, cela permet d'améliorer l'application convivialité et maintenabilité. 🎜

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