Menu
Coddy logo textTech

Basit Hatalar Oluşturma

Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 106 / 109.

Go'da, standart kütüphaneden errors.New() fonksiyonunu kullanarak özel hatalar oluşturabilirsiniz.

errors paketini içe aktarın:

import (
    "errors"
    "fmt"
)

Mesaj içeren basit bir hata oluşturun:

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)
    }
}

Çıktı şu şekilde olacaktır:

Error: cannot divide by zero
challenge icon

Görev

Başlangıç

Bu meydan okumada, errors.New() fonksiyonunu kullanarak Go'da basit bir hata oluşturma pratiği yapacaksınız.

Bir kullanıcı adının geçerli olup olmadığını kontrol eden bir fonksiyonunuz var. Bir kullanıcı adı, en az 5 karakterden oluşuyorsa geçerli kabul edilir. Göreviniz, kullanıcı adı çok kısa olduğunda uygun bir hata döndürerek fonksiyonu tamamlamaktır.

Kopya kağıdı

Standart kütüphanedeki errors.New() fonksiyonunu kullanarak özel hatalar oluşturun:

import (
    "errors"
    "fmt"
)

Bir fonksiyondan hata döndürün:

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

Hatayı ele alın:

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

Kendin dene

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Geçerli bir kullanıcı adı ile test et
	result, err := validateUsername("gopher123")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}

	// Geçersiz bir kullanıcı adı ile test et
	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 {
		// YAPILACAK: "username must be at least 5 characters long" mesajını içeren bir hata döndürün
		// İpucu: Yeni bir hata oluşturmak için errors.New() fonksiyonunu kullanın
		return "", nil // Bu satırı değiştirin
	}
	return "Username is valid", nil
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler