Menu
Coddy logo textTech

Проверка ошибок

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

В Go мы проверяем наличие ошибок с помощью операторов if. Этот паттерн чрезвычайно распространен.

Проверьте, не возникла ли ошибка, используя if err != nil:

func main() {
    result, err := divide(10, 0)
    
    if err != nil {
        fmt.Println("Error occurred:", err)
        return // Остановить выполнение, если возникла ошибка
    }
    
    // Продолжить только при отсутствии ошибки
    fmt.Println("Result:", result)
}

Вывод будет:

Error occurred: cannot divide by zero
challenge icon

Задание

Новичок

В Go функции часто возвращают значение ошибки, которое необходимо проверить перед использованием результата. В этом испытании вы попрактикуетесь в проверке ошибок с помощью оператора if.

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

Шпаргалка

Проверьте наличие ошибок с помощью if err != nil:

result, err := someFunction()

if err != nil {
    fmt.Println("Error occurred:", err)
    return // Остановить выполнение, если возникла ошибка
}

// Продолжить только в случае отсутствия ошибки
fmt.Println("Result:", result)

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

package main

import (
	"fmt"
)

// Эта функция имитирует открытие файла
// Она возвращает ошибку, если файл не существует
func openFile(filename string) error {
	if filename == "data.txt" {
		return nil // nil означает отсутствие ошибки
	} else {
		return fmt.Errorf("file %s not found", filename)
	}
}

func main() {
	filename := "config.txt"
	
	// Вызов функции openFile
	err := openFile(filename)
	
	// TODO: Проверьте, не является ли err отличным от nil (что означает наличие ошибки)
	// Если возникла ошибка, выведите: "Error: " с последующим сообщением об ошибке
	// Если ошибки не было, выведите: "File opened successfully"
	
}
quiz iconПроверьте себя

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

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