# Error Handling in Python

**Beginnerတယောက်အနေနဲ့ Pythonကိုလေ့လာရင်း Error ဘာကြောင့်ဖြစ်လဲ၊ Errorဖြစ်လာရင် ဘယ်လိုဖြေရှင်းမလဲ ဆိုတာသိဖို့လိုပါတယ်။**

**Programmer syntax လွဲလို့ပဲဖြစ်စေ အခြားသော မမျှော်လင့်ထားတဲ့ error တွေကြောင့် ကိုယ့်ရဲ့ program အလုပ်မလုပ်တော့တဲ့ပြဿနာတွေ ဖြစ်နိုင်ပါတယ်။ ဉပမာ အနေနဲ့ Computerရဲ့ hardware ဖောက်ပြန်မှုကြောင့်လည်း ဖြစ်နိုင်သလို code ထဲမှာရှိတဲ့ error တစ်ခုခုကြောင့်လည်း ဖြစ်နိုင်ပါတယ်။**

**အရမ်းသေးငယ်တဲ့ program တစ်ခုပဲဆိုရင်တောင်မှ သတ်မှတ်ထားတဲ့ Syntax ကိုမလိုက်နာရင် Computerကနားလည်နိုင်မှာ မဟုတ်ပါဘူး။**

**Python ကိုလေ့လာနေတုန်းမှာ Syntax Errors တွေကိုအများဆုံးတွေ့ရလိမ့်မယ်။**

**Syntax Errors ဆိုတာကတော့ Syntax rules တွေကိုမလိုက်နာလို့ဖြစ်တာပါ။**

**Syntax: ဆိုတာကတော့ Programming Language တိုင်းမှာ ပုံစံအမျိုးမျိုး နဲ့ သတ်မှတ်ထားတဲ့ Computerတွေ နားလည်အောင် ရေးတဲ့‌ရေးနည်းလို့ ယေဘုယျပြောလို့ရပါတယ်။**

**Pythonရဲ့Syntax အကြောင်းပိုမိုလေ့လာချင်ရင်** [**https://docs.python.org/3/whatsnew/3.8.html**](https://docs.python.org/3/whatsnew/3.8.html) **မှာသွားရောက် ဖတ်ရှုနိုင်ပါတယ်။**

**Syntax တွေကြောင့်ပဲ Error တက်နိုင်တာမဟုတ်ပါဘူး။ Python မှာအနည်းဆုံး syntax error နဲ့  exceptions ဆိုပြီး Error အမျိုးအစားနှစ်မျိုး ရှိပါတယ်။**

**Exceptions(runtime errors)ဆိုတာကတော့ Program run လိုက်တဲ့အချိန်မှာ ဖြစ်ပေါ်လာတဲ့ errors အများစုကို exceptions လို့ ခေါ်ကြပါတယ်။**

**ဉပမာ int(“hello, world”) ဆိုပြီး run လိုက်ရင် error တက်မှာပါပဲ။ Python မှာ exceptions errors တွေကိုကိုင်တွယ်ဖို့  try  and except ဆိုတဲ့ keywords တွေရှိပါတယ်**

**tryကတစ်‌ယောက်ထဲအလုပ်မလုပ်ဘူးexcept,else,finallyစတာတွေနဲ့တွဲ သုံးမှရပါတယ်။**

**try က if လိုမျိုး condition တွေစစ်စရာမလိုဘဲ  try နဲ့ except ကြားက indentation(1 tab) လုပ်ထားတဲ့ code block တွေမှာ error ဖြစ်မဖြစ်စစ်ပါတယ်။ Error ဖြစ်လာရင်တော့ except code block ကိုအလုပ်လုပ်သွားမှာဖြစ်ပါတယ်။**

**တကယ်လို့ except ကို error နဲ့တွဲမစစ်ဘူးဆိုရင်တော့ ဘယ် error ဖြစ်ဖြစ် except အထဲကဟာကို ဆက်လုပ်သွားမှာပါ။**

```python
try:
    x = int(input("What's x? "))
    print(f"x is {x}")
except ValueError:
    print("x is not an integer")
```

**else: ကိုတော့try ရဲ့ code block က error မတက်ဘူးအဆင်ပြေတယ်ဆိုရင် except ရဲ့ code block ကို ကျော်သွားပြီး code ကို အရင်အတိုင်းပဲ အလုပ်လုပ်မှာပါ။**

```python
try:
    x = int(input("What's x? "))
except ValueError:
    print("x is not a integer")
else:
    print(f"x is {x}")
```

**Python မှာ pass ဆိုတဲ့ keyword လေးတစ်ခု ရှိပါတယ်။ သူကတော့ code တွေကို silently ignore လုပ်သွားမှာပါ။**

**ဖတ်ရှုပေးလို့ ကျေးဇူးအထူးတင်ရှိပါတယ်။** **နောက်တစ်ပတ်မှာ ပိုစိတ်ဝင်စားဖို့ကောင်းတဲ့အကြောင်းအရာတွေနဲ့ ပြန်ဆုံကြပါမယ်။**

---

***Weekend Warriors***

* 6 members : 1 girl and 5 boys
    
    * 14 to 18 years old
        
    * learning programming for a year
