Menu
Coddy logo textTech

Verificando Erros

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

Em Go, verificamos erros usando instruções if. Esse padrão é extremamente comum.

Verifique se ocorreu um erro usando if err != nil:

func main() {
    result, err := divide(10, 0)
    
    if err != nil {
        fmt.Println("Error occurred:", err)
        return // Interrompe a execução se houver um erro
    }
    
    // Continua apenas se não houver erro
    fmt.Println("Result:", result)
}

A saída será:

Error occurred: cannot divide by zero
challenge icon

Desafio

Iniciante

Em Go, as funções frequentemente retornam um valor de erro que você precisa verificar antes de usar o resultado. Neste desafio, você praticará a verificação de erros usando a instrução if.

Temos uma função chamada openFile que simula a abertura de um arquivo e retorna um erro se o arquivo não existir. Sua tarefa é verificar se há um erro e imprimir uma mensagem apropriada.

Folha de consulta

Verifique se há erros usando if err != nil:

result, err := someFunction()

if err != nil {
    fmt.Println("Error occurred:", err)
    return // Pare a execução se houver um erro
}

// Continue apenas se não houver erro
fmt.Println("Result:", result)

Experimente você mesmo

package main

import (
	"fmt"
)

// Esta função simula a abertura de um arquivo
// Ela retorna um erro se o arquivo não existir
func openFile(filename string) error {
	if filename == "data.txt" {
		return nil // nil significa que não há erro
	} else {
		return fmt.Errorf("file %s not found", filename)
	}
}

func main() {
	filename := "config.txt"
	
	// Chama a função openFile
	err := openFile(filename)
	
	// TODO: Verifique se err não é nil (o que significa que houve um erro)
	// Se houver um erro, imprima: "Error: " seguido pela mensagem de erro
	// Se não houver erro, imprima: "File opened successfully"
	
}
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