Maison  >  Article  >  développement back-end  >  Comment Golang renvoie-t-il les informations d'erreur ?

Comment Golang renvoie-t-il les informations d'erreur ?

PHPz
PHPzoriginal
2024-04-22 14:03:01830parcourir

Renvoi des informations d'erreur dans Go : utilisez le type d'erreur pour représenter les informations d'erreur. Utilisez error.New() pour créer des messages d’erreur simples. Utilisez fmt.Errorf() pour créer des messages d'erreur détaillés. Les erreurs sont détectées via if err != nil et gérées via fmt.Println(err).

Comment Golang renvoie-t-il les informations derreur ?

Renvoi des informations d'erreur dans Go

Dans Go, vous pouvez utiliser le type erreur pour représenter les informations d'erreur. Le code suivant montre comment renvoyer un message d'erreur : error 类型表示错误信息。以下代码显示了如何返回错误信息:

func myFunc() error {
  // 出现错误时,使用 errors.New() 创建错误并返回
  return errors.New("some error occurred")
}

您还可以使用 fmt.Errorf() 函数创建更详细的错误信息:

func myFunc() error {
  return fmt.Errorf("some error occurred: %v", someVariable)
}

捕获并处理错误信息:

func main() {
  err := myFunc()
  if err != nil {
    // 处理错误
    fmt.Println(err)
  }
}

实战案例:

在以下示例中,我们在函数中返回一个错误,并在 main

func readFile(filename string) error {
  file, err := os.Open(filename)
  if err != nil {
    return err
  }
  defer file.Close()
  // ...
  return nil
}

func main() {
  err := readFile("non-existent-file.txt")
  if err != nil {
    fmt.Println(err)
  }
}

Vous pouvez également utiliser la fonction fmt.Errorf() pour créer un message d'erreur plus détaillé :

rrreee

Capturer et gérer les messages d'erreur : 🎜 rrreee🎜🎜Cas pratique : 🎜🎜🎜Dans l'exemple suivant, nous renvoyons une erreur dans la fonction, nous l'attrapons et la gérons dans la fonction main : 🎜rrreee🎜De cette façon, vous pouvez la gérer avec élégance et l'envoyer à l'utilisateur communique des informations erronées. 🎜

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