Maison  >  Article  >  développement back-end  >  Comment utiliser les types d’erreur personnalisés dans Golang ?

Comment utiliser les types d’erreur personnalisés dans Golang ?

WBOY
WBOYoriginal
2024-06-06 10:53:57970parcourir

L'utilisation de types d'erreur personnalisés dans Golang vous permet de créer des messages d'erreur plus descriptifs et exploitables spécifiques à votre application. Les étapes sont les suivantes : déclarer un type d'erreur personnalisé et implémenter l'interface d'erreur. Renvoie les erreurs personnalisées dans les fonctions. Recherchez les erreurs à l’aide de la fonction erreurs.Is() ou erreurs.As(). La gestion des erreurs et le débogage peuvent être simplifiés en personnalisant les types d’erreurs. Par exemple, dans une fonction de lecture de fichier, les erreurs personnalisées fournissent des informations d'erreur spécifiques au fichier.

如何在 Golang 中使用自定义错误类型?

Utilisation de types d'erreur personnalisés dans Golang

Dans Golang, les types d'erreur sont utilisés pour représenter des échecs de fonctionnement ou des conditions anormales. Les types d'erreur personnalisés vous permettent de créer des messages d'erreur plus descriptifs et exploitables, spécifiques à votre application.

Créez un type d'erreur personnalisé :

Utilisez le mot-clé error pour déclarer un type d'erreur personnalisé : error 关键字声明自定义错误类型:

type myError struct {
    message string
}

实现 error 接口:

myError 类型必须实现 error 接口,即 Error() 方法:

func (e *myError) Error() string {
    return e.message
}

使用自定义错误类型:

在函数或方法中返回自定义错误:

func myFunc() error {
    return &myError{message: "some error occurred"}
}

处理自定义错误:

使用 errors.Is()errors.As()

err := myFunc()
if errors.Is(err, &myError{}) {
    // 自定义错误处理逻辑
}

Implémentez l'interface error :

Le type myError doit implémenter l'interface error, c'est-à-dire la méthode Error() :

func readFile(path string) error {
    _, err := ioutil.ReadFile(path)
    if err != nil {
        return &myError{message: fmt.Sprintf("could not read file '%s': %v", path, err)}
    }
    return nil
}

Utiliser un type d'erreur personnalisé :

Retour dans une fonction ou une méthode Erreurs personnalisées :

err := readFile("file.txt")
if errors.Is(err, &myError{}) {
    fmt.Println(err.Error())
}

Gestion des erreurs personnalisées :

🎜🎜Utilisez la fonction errors.Is() ou errors.As() pour vérifier pour les erreurs : 🎜
could not read file 'file.txt': open file.txt: no such file or directory
🎜🎜 Cas pratique : 🎜🎜🎜Envisagez une fonction de lecture de fichier : 🎜rrreee🎜🎜Utilisation : 🎜🎜rrreee🎜Sortie : 🎜rrreee🎜En personnalisant les types d'erreurs, vous pouvez créer des messages d'erreur plus descriptifs et exploitables, ainsi Simplifiez la gestion des erreurs et le débogage. 🎜

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