Java Programming 14: Java Exception

person Myat Min Soefolder_openJava Programmingaccess_time September 8, 2016

Program တွေမှာ error တွေတက်နိုင်ပါတယ်။ Error တွေကို အသက်သာဆုံး Handle လုပ်နိုင်ဖို့ လိုပါတယ်။ ဒါကြောင့် Java Exception ကိုအသုံးပြုပါတယ်။ Runtime Error တွေက ကိုယ်ရေးလိုက်တဲ့ Program ကြောင့်ဖြစ်နိုင်သလို User Input ကြောင့်လဲဖြစ်နိုင်ပါတယ်။ User Input ကြောင့်ဖြစ်နိုင်တယ်ဆိုရင် ကြိုတင်ကာထားရပါမယ်။ ကာလို့မရဘူး ဖြစ်ကိုဖြစ်နိုင်တယ်ဆိုရင်တော့ Exception ကိုအသုံးပြုရပါမယ်။

Class အသစ်ယူူပြီး Tutorial13 လို့နာမည်ပေးလိုက်ပါ အောက်ကအတိုင်းရေးလိုက်ပါ။
[java]
package tutorial;

import java.util.Scanner;

public class Tutorial13 {

public static void main(String[] args) {

int a;
int b;
int ans;

Scanner scanner = new Scanner(System.in);

System.out.print("Enter first number: ");
a = scanner.nextInt();

System.out.print("Enter second number: ");
b = scanner.nextInt();

ans = a/b;
System.out.print(a + "/" + b + " is: " + ans);
}
}
[/java]

ဒီ Program လေးကတော့ ရှင်းရှင်းလေးပါပဲ။ int a နဲ့ int b ကို Scanner သုံးပြီး input ယူပါတယ်။ a/b ကို ans ထဲထည့်ပါတယ်။ နောက်ဆုံး System.out.print နဲ့ ans(a/b) ကို ထုတ်ပေးလိုက်ပါတယ်။ Run ပြီးစမ်းကြည့်ပါ။ ans က int ဖြစ်တဲ့အတွက် စားလဒ်ကို ဒဿမနဲ့ ဖော်ပြပေးမှာမဟုတ်ပါဘူး။

စမ်းရင် တော်တော်များများအတွက် အဆင်ပြေတာကိုတွေ့ရပါလိမ့်မယ်။ ဒါပေမဲ့ b ကို 0 ပေးကြည့်ပါ။

Exception in thread “main” java.lang.ArithmeticException: / by zero
at tutorial.Tutorial13.main(Tutorial13.java:21)

ဆိုပြီးပေါ်လာပါလိမ့်မယ်။ ဒါ error တက်တာပါပဲ။ ဒါက user က 0 ထည့်နိုင်တာဖြစ်လို့ ArithmeticException တက်တာပါ။ run တိုင်းမတက်ပါဘူး။ အပေါ်မှာ b ကို 0 ဟုတ်မဟုတ် condition စစ်နိုင်ပါသေးတယ်။ ဒါမှမဟုတ်ရင်တော့ exception ဖမ်းရပါမယ်။ သူ့ structure ကတော့ အောက်ပါအတိုင်းပါ။

try {

} catch (Exception e) {

} finally {

}

အပေါ်က program ကို try, catch အသုံးပြုပြီး exception ဖမ်းမယ်ဆိုရင် အောက်ပါအတိုင်းဖြစ်သွားပါလိမ့်မယ်။
[java]
package tutorial;

import java.util.Scanner;

public class Tutorial13 {

public static void main(String[] args) {

int a;
int b;
int ans;

Scanner scanner = new Scanner(System.in);

System.out.print("Enter first number: ");
a = scanner.nextInt();

System.out.print("Enter second number: ");
b = scanner.nextInt();

try {
ans = a / b;
System.out.print(a + "/" + b + " is: " + ans);
} catch (Exception e) {
System.out.print("Error");
}

}
}
[/java]

Finally ကတော့ exception တက်တက် မတက်တက် နောက်ဆုံး အလုပ်လုပ်မဲ့ code ကိုပြောတာပါ။ finally မသုံးပဲဒီတိုင်းဆက်ရေးလဲရပါတယ်။ ဒီ program မှာတော့ နောက်မှာ code မရှိတော့တဲ့အတွက် ဘာမှမသုံးတော့ပါဘူး။ အခုက Exception e ဆိုပြီး ဖမ်းထားလို့ပါ ArithmeticException e ဆိုပြီးလဲသုံးလို့ရပါသေးတယ်။ ဘာ Exception တက်မယ်ဆိုတာသိရင် ကြိုတင် သုံးလို့ရပါတယ်။ ArithmeticException သုံးပြီး တစ်ခြား exception ကြောင့် error တက်ခဲ့ရင် Finally ထဲက code အလုပ်လုပ်မှာမဟုတ်ပါဘူး။

ဒီလောက်ဆို Java နဲ့ OOP အခြေခံလောက်သဘောပေါက်လောက်ပြီထင်ပါတယ်။ Android Development ကိုဆက်လက်လေ့လာလို့ရပါပြီ။ Java ကိုဆက်လေ့လာချင်သေးရင် Swing class အသုံးပြုပြီး java gui app တွေဆောက်တာတွေ File input output တွေအပါအဝင် တစ်ခြား Java API တွေအများကြီးကျန်ပါသေးတယ်။ ဒီမှာတော့ Android Development အတွက် အခြေခံဖြစ်တာကြောင့် ဒီလောက်နဲ့ပဲရပ်လိုက်ပါမယ်။

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>