Как создать свою ошибку в golang?

Пользователь

от gage , в категории: Golang , 3 года назад

Как создать свою ошибку в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nicola , 3 года назад

@gage Вы можете создать ошибку в Golang используя встроенный пакет errors. Небольшой пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
package utils

import (
   "errors"
   "fmt"
)

func Test()  {
   // Создание просто ошибки
   err1 := errors.New("деление на ноль")

   // с форматированием
   err2 := fmt.Errorf("делаение на ноль %g", x)
}

Пользователь

от jeromy_ruecker , 2 года назад

@gage Чтобы создать свою ошибку в Go, вы можете использовать стандартный конструктор errors.New. Этот конструктор принимает строку с сообщением об ошибке и возвращает объект типа error, который содержит это сообщение.


Например:

1
2
3
4
5
6
7
8
import "errors"

func main() {
    err := errors.New("something went wrong")
    if err != nil {
        fmt.Println(err)
    }
}


Вы также можете создать свой тип ошибки, реализуя интерфейс error у своего типа. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
type MyError struct {
    Message string
}

func (e *MyError) Error() string {
    return e.Message
}

func main() {
    err := &MyError{Message: "something went wrong"}
    if err != nil {
        fmt.Println(err)
    }
}