Java ခြွင်းချက်များ - ကြိုးစား...Catch
Java ခြွင်းချက်များ
Java ကုဒ်ကို လုပ်ဆောင်သောအခါတွင် မတူညီသော အမှားအယွင်းများ ဖြစ်ပေါ်လာနိုင်သည်- ပရိုဂရမ်မာမှ ပြုလုပ်သော ကုဒ်အမှားများ၊ မှားယွင်းထည့်သွင်းမှုကြောင့် အမှားအယွင်းများ သို့မဟုတ် အခြားသော မှန်းဆမရနိုင်သော အရာများ။
error တစ်ခုဖြစ်ပေါ်သောအခါ၊ Java သည် ပုံမှန်အားဖြင့် ရပ်တန့်ပြီး error message တစ်ခုထုတ်ပေးလိမ့်မည်။ ၎င်းအတွက် နည်းပညာဆိုင်ရာ အသုံးအနှုန်းမှာ- Java သည် ခြွင်းချက်တစ်ခု (အမှားတစ်ခုကို လွှင့်ပစ်မည်)။
Java စမ်းပြီး ဖမ်းတယ်။
အဆိုပါ try
ထုတ်ပြန်ချက်သည် သင့်အား လုပ်ဆောင်နေချိန်တွင် အမှားများအတွက် စမ်းသပ်ရမည့် ကုဒ်တစ်ခုအား သတ်မှတ်သတ်မှတ်နိုင်စေမည်ဖြစ်သည်။
catch
try block တွင် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ပါက လုပ်ဆောင်ရန် ကုဒ်တစ်ခုအား သတ်မှတ်ဖော်ပြချက်သည် သင့်အား သတ်မှတ်ခွင့်ပြုသည် ။
try
နှင့် catch
သော့ချက်စာလုံးများသည် အတွဲများဖြစ်သည် -
အထားအသို
try {
// Block of code to try
}
catch(Exception e) {
// Block of code to handle errors
}
အောက်ပါဥပမာကို သုံးသပ်ကြည့်ပါ-
myNumbers [10] မရှိပါ။
public class Main {
public static void main(String[ ] args) {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]); // error!
}
}
အထွက်သည် ဤကဲ့သို့သော အရာဖြစ်လိမ့်မည်-
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at Main.main(Main.java:4)
အမှားအယွင်းတစ်ခုဖြစ်ပေါ်ပါက၊ try...catch
အမှားကိုဖမ်းရန်နှင့် ၎င်းကိုကိုင်တွယ်ရန် ကုဒ်အချို့ကို လုပ်ဆောင်နိုင်သည်-
ဥပမာ
public class Main {
public static void main(String[ ] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("Something went wrong.");
}
}
}
အထွက်သည်-
Something went wrong.
နောက်ဆုံး
အဆိုပါ ထုတ်ပြန်ချက်သည် သင့် အား ရလဒ်မည်သို့ပင်ဖြစ်စေ finally
ပြီးနောက်၊ ကုဒ်ကိုလုပ်ဆောင်နိုင်သည် -try...catch
ဥပမာ
public class Main {
public static void main(String[] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("Something went wrong.");
} finally {
System.out.println("The 'try catch' is finished.");
}
}
}
အထွက်သည်-
Something went wrong.
The 'try catch' is finished.
သော့ချက်စကားလုံး
အဆိုပါ throw
ထုတ်ပြန်ချက်သည် သင့်အား စိတ်ကြိုက်အမှားတစ်ခုကို ဖန်တီးနိုင်စေပါသည်။
ဖော်ပြချက်ကို ခြွင်းချက်အမျိုးအစားthrow
တစ်ခုနှင့် တွဲသုံးသည် ။ Java တွင်ရရှိနိုင်သောခြွင်းချက်အမျိုးအစားများစွာရှိသည်- ,
, , , etc:ArithmeticException
FileNotFoundException
ArrayIndexOutOfBoundsException
SecurityException
ဥပမာ
အသက် 18 နှစ်အောက် ဖြစ်ပါက ခြွင်းချက်တစ်ခုအား ပစ် ပါ ("ဝင်ရောက်ခွင့်ကို ငြင်းဆိုထားသည်")။ အသက် 18 နှစ်နှင့်အထက်ဖြစ်ပါက "Access granted" ကို ရိုက်နှိပ်ပါ။
public class Main {
static void checkAge(int age) {
if (age < 18) {
throw new ArithmeticException("Access denied - You must be at least 18 years old.");
}
else {
System.out.println("Access granted - You are old enough!");
}
}
public static void main(String[] args) {
checkAge(15); // Set age to 15 (which is below 18...)
}
}
အထွက်သည်-
Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
at Main.checkAge(Main.java:4)
at Main.main(Main.java:12)
အသက် 20 ဆိုလျှင် ခြွင်းချက်မရှိ နိုင်ပါ ။
ဥပမာ
checkAge(20);
အထွက်သည်-
Access granted - You are old enough!