Heim > Backend-Entwicklung > Golang > Wie Golang Fehler definiert

Wie Golang Fehler definiert

angryTom
Freigeben: 2020-03-14 16:36:47
Original
3323 Leute haben es durchsucht

Wie Golang Fehler definiert

Wie Golang Fehler definiert

Während des Entwicklungsprozesses, als der von der Standardbibliothek zurückgegebene Fehlerinhalt unsere Anforderungen nicht mehr erfüllen konnte, haben wir eingebaut. error in go ist eine Schnittstelle,

Verwandte Empfehlungen: Golang-Tutorial

type error interface {
    Error() string
}
Nach dem Login kopieren

Sie müssen also nur eine Struktur erstellen, die die String-Funktion Error() enthält.

1. Erstellen Sie ein neues Fehlerpaket unter go path

vim $GOPATH/github.com/mypractise/error/errors.go

package errors

type Error struct {
    ErrCode int
    ErrMsg  string
}

func NewError(code int, msg string) *Error {
    return &Error{ErrCode: code, ErrMsg: msg}
}

func (err *Error) Error() string {
    return err.ErrMsg
}
Nach dem Login kopieren

2. Starten Sie den Aufruf des Fehlerpakets

vim ./test.go

package main

import (
    "encoding/json"
    "errors"
    "fmt"

    myerr "github.com/mypractise/errors"
)

func myErr() error {

    err := myerr.NewError(2, "err test")
    return err
}

func staErr() error {
    m := make(map[string]string)
    err := json.Unmarshal([]byte(""), m)
    if err != nil {
        return err
    }

    return errors.New("aaaaa")
}

func main() {
    err1 := staErr()
    fmt.Println("------sta err:", err1.Error())

    err2 := myErr()
    fmt.Println("------my err:", err2.Error(), err2.(*myerr.Error).ErrCode)
}
Nach dem Login kopieren

3. Führen Sie den Test aus

go run ./test.go
Nach dem Login kopieren

PHP-Chinesisch-Website, eine große Anzahl von Programmier-Tutorials und Tutorials zum Aufbau von Websites können gerne erlernt werden.

Das obige ist der detaillierte Inhalt vonWie Golang Fehler definiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage