Menu
CoddyTech

Giao diện `error`

Thuộc phần Kiến thức nền tảng trong hành trình GO của Coddy. Bài học 103 trên 109.

Trong Go, giao diện error là một kiểu dựng sẵn dùng để biểu thị các tình trạng lỗi. Bất kỳ kiểu nào triển khai phương thức Error() đều thỏa mãn giao diện này.

Đây là định nghĩa giao diện lỗi:

type error interface {
    Error() string
}

Tạo một kiểu lỗi tùy chỉnh:

type MyError struct {
    Message string
}

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

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

Kết quả đầu ra sẽ là:

something went wrong
challenge icon

Thử thách

Dễ

Trong thử thách này, bạn sẽ làm việc với interface error của Go. Bạn cần tạo lỗi tùy chỉnh bằng hàm errors.New(), sau đó kiểm tra xem có lỗi hay không.

Code đã có sẵn một hàm trả về lỗi. Nhiệm vụ của bạn là kiểm tra xem lỗi có khác nil không và in ra thông báo phù hợp.

Tự làm thử

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Hàm (function) này trả về một lỗi
	err := generateError()
	
	// TODO: Kiểm tra xem err có khác nil không
	// Nếu err khác nil, in ra "Error occurred: " rồi đến thông báo lỗi
	// HINT: Dùng câu lệnh if để kiểm tra err != nil
	
	
	// Dòng này vẫn chạy dù có xảy ra lỗi hay không
	fmt.Println("Program completed successfully")
}

// Hàm này tạo ra một lỗi
func generateError() error {
	return errors.New("something went wrong")
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Go online