GoDasturchi
Errors Capstone

Errors Capstone

Xatolarni boshqarish: yakuniy loyiha

Endi shu kursda o'rgangan hammasini — sentinel xatolar, kontekst qo'shish, %w bilan o'rash va errors.Is bilan tekshirishni — kichik "buyurtma tekshiruvchisi"da birlashtiramiz.

Vazifa: buyurtmani tekshiring, muammo bo'lsa mos sentinel xatoni kontekst bilan o'rab qaytaring, so'ng uni errors.Is bilan tekshirib foydalanuvchiga tushunarli xabar bering.

>_ Exercise

Quyidagi bosqichlarni bajaring:

  • ErrEmptyCart va ErrInvalidAddress sentinel xatolarini e'lon qiling
  • validateOrder(itemCount int, address string) error yozing: itemCount == 0 bo'lsa ErrEmptyCart, address == "" bo'lsa ErrInvalidAddress, ikkalasini ham "validateOrder: %w" bilan o'rab qaytaring
  • errors.Is bilan tekshirib mos xabarni chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Sentinel xatolar, kontekst qo'shish (%w) va errors.Is — birgalikda ishlatilganda, aniq va tekshiriladigan xato boshqaruv tizimini tashkil qiladi.

Finish
OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Errors Capstone

Xatolarni boshqarish: yakuniy loyiha

Endi shu kursda o'rgangan hammasini — sentinel xatolar, kontekst qo'shish, %w bilan o'rash va errors.Is bilan tekshirishni — kichik "buyurtma tekshiruvchisi"da birlashtiramiz.

Vazifa: buyurtmani tekshiring, muammo bo'lsa mos sentinel xatoni kontekst bilan o'rab qaytaring, so'ng uni errors.Is bilan tekshirib foydalanuvchiga tushunarli xabar bering.

>_ Exercise

Quyidagi bosqichlarni bajaring:

  • ErrEmptyCart va ErrInvalidAddress sentinel xatolarini e'lon qiling
  • validateOrder(itemCount int, address string) error yozing: itemCount == 0 bo'lsa ErrEmptyCart, address == "" bo'lsa ErrInvalidAddress, ikkalasini ham "validateOrder: %w" bilan o'rab qaytaring
  • errors.Is bilan tekshirib mos xabarni chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Sentinel xatolar, kontekst qo'shish (%w) va errors.Is — birgalikda ishlatilganda, aniq va tekshiriladigan xato boshqaruv tizimini tashkil qiladi.