Menu
Coddy logo textTech

Интерфейс `error`

Часть раздела Основы путешествия по GO на Coddy — урок 103 из 109.

В Go интерфейс error — это встроенный тип, который представляет условия ошибок. Любой тип, реализующий метод Error(), удовлетворяет этому интерфейсу.

Вот определение интерфейса error:

type error interface {
    Error() string
}

Создайте пользовательский тип ошибки:

type MyError struct {
    Message string
}

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

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

Вывод будет:

something went wrong
challenge icon

Задание

Легко

В этом задании вы будете работать с интерфейсом error языка Go. Вам нужно создать пользовательскую ошибку с помощью функции errors.New(), а затем проверить, существует ли ошибка.

В коде уже есть функция, которая возвращает ошибку. Ваша задача — проверить, что ошибка не равна nil, и вывести соответствующее сообщение.

Попробуйте сами

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Эта функция возвращает ошибку
	err := generateError()
	
	// TODO: Проверьте, что err не равен nil
	// Если err не равен nil, выведите: "Error occurred: " за которым следует сообщение об ошибке
	// HINT: Используйте оператор if для проверки, что err != nil
	
	
	// Эта строка выполняется независимо от того, произошла ли ошибка
	fmt.Println("Program completed successfully")
}

// Эта функция генерирует ошибку
func generateError() error {
	return errors.New("something went wrong")
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы