Menu
Coddy logo textTech

A Interface `error`

Parte da seção Fundamentos do Journey de GO da Coddy — lição 103 de 109.

Em Go, a interface error é um tipo integrado que representa condições de erro. Qualquer tipo que implemente o método Error() satisfaz essa interface.

Aqui está a definição da interface error:

type error interface {
    Error() string
}

Crie um tipo de erro personalizado:

type MyError struct {
    Message string
}

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

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

A saída será:

something went wrong
challenge icon

Desafio

Fácil

Neste desafio, você trabalhará com a interface error do Go. Você precisa criar um erro personalizado usando a função errors.New() e então verificar se um erro existe.

O código já possui uma função que retorna um erro. Sua tarefa é verificar se o erro não é nil e imprimir uma mensagem apropriada.

Folha de consulta

A interface error é um tipo integrado que representa condições de erro. Qualquer tipo que implemente o método Error() satisfaz esta interface:

type error interface {
    Error() string
}

Crie um tipo de erro personalizado:

type MyError struct {
    Message string
}

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

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

Use errors.New() para criar erros simples e verificar se um erro não é nil.

Experimente você mesmo

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Esta função retorna um erro
	err := generateError()
	
	// TODO: Verifique se err não é nulo
	// Se err não for nulo, imprima: "Error occurred: " seguido pela mensagem de erro
	// DICA: Use uma instrução if para verificar se err != nil
	
	
	// Esta linha só será executada se nenhum erro ocorrer
	fmt.Println("Program completed successfully")
}

// Esta função gera um erro
func generateError() error {
	return errors.New("something went wrong")
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos