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 de erro:

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, em seguida, verificar se existe um erro.

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

Experimente você mesmo

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Esta função retorna um erro
	err := generateError()
	
	// TODO: Verifique se err não é nil
	// Se err não for nil, imprima: "Error occurred: " seguido da mensagem de erro
	// HINT: Use uma instrução if para verificar se err != nil
	
	
	// Esta linha é executada independentemente de ter ocorrido um erro
	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

Pratique por conta própria: Compilador de Go online