GoDasturchi
Error Message Style

Error Message Style

Xato xabarlari uslubi

Go xato xabarlari uchun aniq uslub qoidasiga amal qiladi: kichik harf bilan boshlanadi va oxirida tinish belgisi bo'lmaydi. Bu — boshqa tillardan farqli, lekin sababi bor.

example.go
package main

import (
	"errors"
	"fmt"
)

// Yomon uslub: katta harf bilan boshlangan, nuqta bilan tugagan
var errBad = errors.New("Fayl topilmadi.")

// Yaxshi uslub: kichik harf, tinish belgisisiz
var errGood = errors.New("fayl topilmadi")

func main() {
	// Xatolar ko'pincha boshqa xato ichiga o'raladi:
	wrapped := fmt.Errorf("konfiguratsiyani o'qishda: %w", errGood)
	fmt.Println(wrapped)
	// Natija: "konfiguratsiyani o'qishda: fayl topilmadi" — o'qilishi tabiiy!

	// Agar errBad ishlatilganda edi:
	// "konfiguratsiyani o'qishda: Fayl topilmadi." — o'rtada katta harf, oxirida ortiqcha nuqta — g'alati ko'rinardi
}

Sabab aynan shu: xatolar ko'pincha boshqa xatolar ichiga o'raladi (%w bilan), va bir nechta xato birlashtirilganda gap bitta uzun jumlaga aylanadi. Agar har bir bo'lak katta harf bilan boshlansa yoki nuqta bilan tugasa, natija — "Xato: Fayl. topilmadi.: Ulanish. uzildi." kabi g'alati matn bo'lib chiqadi. Kichik harf + tinish belgisisiz qoida — istalgan combinatsiyada tabiiy o'qiladigan xabar hosil qiladi.

>_ Exercise

Xato xabarlarini Go uslubiga moslashtiring.

  • "Ulanish vaqti tugadi." o'rniga to'g'ri uslubda ("ulanish vaqti tugadi") xato yarating
  • uni "so'rovni bajarishda: %w" bilan o'rab chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Go xato xabarlari kichik harf bilan boshlanadi va tinish belgisisiz tugaydi — bu ularni boshqa xatolar ichiga o'ralganda ham tabiiy o'qiladigan qiladi.

NEXT UP

Errors Capstone

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Error Message Style

Xato xabarlari uslubi

Go xato xabarlari uchun aniq uslub qoidasiga amal qiladi: kichik harf bilan boshlanadi va oxirida tinish belgisi bo'lmaydi. Bu — boshqa tillardan farqli, lekin sababi bor.

example.go
package main

import (
	"errors"
	"fmt"
)

// Yomon uslub: katta harf bilan boshlangan, nuqta bilan tugagan
var errBad = errors.New("Fayl topilmadi.")

// Yaxshi uslub: kichik harf, tinish belgisisiz
var errGood = errors.New("fayl topilmadi")

func main() {
	// Xatolar ko'pincha boshqa xato ichiga o'raladi:
	wrapped := fmt.Errorf("konfiguratsiyani o'qishda: %w", errGood)
	fmt.Println(wrapped)
	// Natija: "konfiguratsiyani o'qishda: fayl topilmadi" — o'qilishi tabiiy!

	// Agar errBad ishlatilganda edi:
	// "konfiguratsiyani o'qishda: Fayl topilmadi." — o'rtada katta harf, oxirida ortiqcha nuqta — g'alati ko'rinardi
}

Sabab aynan shu: xatolar ko'pincha boshqa xatolar ichiga o'raladi (%w bilan), va bir nechta xato birlashtirilganda gap bitta uzun jumlaga aylanadi. Agar har bir bo'lak katta harf bilan boshlansa yoki nuqta bilan tugasa, natija — "Xato: Fayl. topilmadi.: Ulanish. uzildi." kabi g'alati matn bo'lib chiqadi. Kichik harf + tinish belgisisiz qoida — istalgan combinatsiyada tabiiy o'qiladigan xabar hosil qiladi.

>_ Exercise

Xato xabarlarini Go uslubiga moslashtiring.

  • "Ulanish vaqti tugadi." o'rniga to'g'ri uslubda ("ulanish vaqti tugadi") xato yarating
  • uni "so'rovni bajarishda: %w" bilan o'rab chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Go xato xabarlari kichik harf bilan boshlanadi va tinish belgisisiz tugaydi — bu ularni boshqa xatolar ichiga o'ralganda ham tabiiy o'qiladigan qiladi.

NEXT UP

Errors Capstone