Maison  >  Article  >  développement back-end  >  Type d'erreur de fonction Golang personnalisée

Type d'erreur de fonction Golang personnalisée

WBOY
WBOYoriginal
2024-05-02 14:36:02354parcourir

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
}

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")

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"}

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
}
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
}

🎜Code de vérification d'erreur : 🎜🎜
age := 15
err := ValidateAge(age)
if err != nil {
    fmt.Println("错误:", err)
} else {
    fmt.Println("年龄已验证")
}
🎜🎜Code de gestion des erreurs : 🎜🎜
错误:年龄必须大于或等于 18
🎜🎜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!

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