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 nativo 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 error customizado usando a function errors.New() e depois check se um error existe.

O código já tem uma function que returns um error. Sua tarefa é check se o error não é nil e print uma message 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