Menu
CoddyTech

Tạo lỗi đơn giản

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 106 trên 109.

Trong Go, bạn có thể tạo lỗi tùy chỉnh bằng hàm errors.New() từ thư viện chuẩn.

Nhập gói errors:

import (
    "errors"
    "fmt"
)

Tạo một lỗi đơn giản kèm thông báo:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Error:", err)
    } else {
        fmt.Println("Result:", result)
    }
}

Đầu ra sẽ là:

Error: cannot divide by zero
challenge icon

Thử thách

Người mới

Trong thử thách này, bạn sẽ luyện tập cách tạo một lỗi đơn giản trong Go bằng hàm (function) errors.New().

Bạn có một hàm kiểm tra tên người dùng có hợp lệ hay không. Tên người dùng hợp lệ khi có ít nhất 5 ký tự. Nhiệm vụ của bạn là hoàn thành hàm bằng cách trả về một lỗi phù hợp khi tên người dùng quá ngắn.

Tự làm thử

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Kiểm tra với tên người dùng hợp lệ
	result, err := validateUsername("gopher123")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}

	// Kiểm tra với tên người dùng không hợp lệ
	result, err = validateUsername("go")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}
}

func validateUsername(username string) (string, error) {
	if len(username) < 5 {
		// TODO: Trả về lỗi với thông báo "username must be at least 5 characters long"
		// Gợi ý: Dùng errors.New() để tạo lỗi mới
		return "", nil // Thay dòng này
	}
	return "Username is valid", nil
}
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