Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Error Handling

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

Go မှာ exception ပုံစံမဟုတ်ဘဲ error value ကို return ပြန်ပြီး caller ကစစ်ဆေးတာက ပုံမှန်ရေးနည်းပါ။ ဒီပုံစံက error ကိုဖုံးကွယ်မထားဘဲ code flow ထဲမှာရှင်းရှင်းလင်းလင်းမြင်စေပါတယ်။

go
package main

import (
    "errors"
    "fmt"
)

func divide(a int, 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)
        return
    }

    fmt.Println("Result:", result)
}

divide function က result နဲ့ error ကိုပြန်ပေးပါတယ်။ Error မရှိရင် nil ပြန်ပေးပြီး error ရှိရင် message ပါတဲ့ error value ပြန်ပေးပါတယ်။

You should see
Error: cannot divide by zero

Info

if err != nil ကိုတွေ့တာများလို့ စစချင်းထပ်တလဲလဲဖြစ်သလိုထင်နိုင်ပေမဲ့ Go code readability အတွက် အရေးကြီးတဲ့ style ပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Error ကို ignore လုပ်တာက production bug ကြီးတွေဖြစ်စေနိုင်ပါတယ်။ အနည်းဆုံး log ထုတ်ပါ၊ user-friendly message ပြပါ၊ သို့မဟုတ် caller ကိုပြန်ပေးပါ။
Error Handling | Thuta Learning