Skip to content
GitHub

Exceptions & File Handling

Program တစ်ခု ရေးတဲ့အခါ အမှား (Error) တွေ ဖြစ်တတ်ပါတယ်။ အဲ့ဒီ အမှားတွေကို စနစ်တကျ မကိုင်တွယ်ရင် Program ကြီး ရပ်သွားပါလိမ့်မယ်။ Java မှာ အဲ့ဒီလို အမှားတွေကို Exceptions လို့ ခေါ်ပြီး၊ သူတို့ကို ဘယ်လို ဖြေရှင်းမလဲ ဆိုတာ လေ့လာကြည့်ရအောင်။


1. Try-Catch (အမှားကို ဖမ်းခြင်း)

Section titled “1. Try-Catch (အမှားကို ဖမ်းခြင်း)”

အမှားဖြစ်နိုင်တဲ့ Code တွေကို try block ထဲမှာ ထည့်ရေးပြီး၊ အမှားဖြစ်လာရင် ဘာလုပ်မလဲ ဆိုတာကို catch block ထဲမှာ ရေးရပါတယ်။

public class Main {
public static void main(String[] args) {
try {
// အမှားဖြစ်နိုင်တဲ့ Code
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]); // Index 10 မရှိလို့ Error တက်ပါမယ်
} catch (Exception e) {
// အမှားဖြစ်ရင် အလုပ်လုပ်မယ့် Code
System.out.println("တစ်ခုခု မှားယွင်းနေပါတယ်။");
} finally {
// အမှားဖြစ်ဖြစ်၊ မဖြစ်ဖြစ် အမြဲတမ်း အလုပ်လုပ်မယ့် Code
System.out.println("Try-Catch ပြီးဆုံးသွားပါပြီ။");
}
}
}

2. Throw (အမှားကို ကိုယ်တိုင် ဖန်တီးခြင်း)

Section titled “2. Throw (အမှားကို ကိုယ်တိုင် ဖန်တီးခြင်း)”

တစ်ခါတစ်လေမှာ ကိုယ်တိုင် သတ်မှတ်ထားတဲ့ စည်းကမ်းနဲ့ မကိုက်ညီရင် Error တက်စေချင်တာမျိုး ရှိပါတယ်။ အဲ့ဒီအခါ throw ကို သုံးပါတယ်။

public class Main {
// အသက် ၁၈ နှစ် မပြည့်ရင် Error တက်မယ့် Method
static void checkAge(int age) {
if (age < 18) {
// ကိုယ်တိုင် Error ဖန်တီးခြင်း
throw new ArithmeticException("အသက် ၁၈ နှစ် မပြည့်သေးပါ။");
} else {
System.out.println("ဝင်ခွင့်ပြုပါတယ်။");
}
}
public static void main(String[] args) {
checkAge(15); // Error တက်ပါမယ်
}
}

3. File Handling (ဖိုင်များကို အသုံးပြုခြင်း)

Section titled “3. File Handling (ဖိုင်များကို အသုံးပြုခြင်း)”

Java မှာ ဖိုင်တွေကို ဖတ်ဖို့၊ ရေးဖို့၊ ဖျက်ဖို့ java.io.File class ကို သုံးပါတယ်။

ဖိုင်အသစ် ဖန်တီးခြင်း

Section titled “ဖိုင်အသစ် ဖန်တီးခြင်း”
import java.io.File;
import java.io.IOException; // Error ကိုင်တွယ်ဖို့ လိုပါတယ်
public class Main {
public static void main(String[] args) {
try {
File myObj = new File("filename.txt");
if (myObj.createNewFile()) {
System.out.println("ဖိုင် ဖန်တီးပြီးပါပြီ: " + myObj.getName());
} else {
System.out.println("ဖိုင် ရှိပြီးသားပါ။");
}
} catch (IOException e) {
System.out.println("အမှားဖြစ်သွားပါတယ်။");
e.printStackTrace();
}
}
}

ဖိုင်ထဲသို့ စာရေးခြင်း

Section titled “ဖိုင်ထဲသို့ စာရေးခြင်း”
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
FileWriter myWriter = new FileWriter("filename.txt");
myWriter.write("Java က တကယ်ကို စိတ်ဝင်စားဖို့ ကောင်းပါတယ်။");
myWriter.close(); // ရေးပြီးရင် ပိတ်ပေးရပါတယ်
System.out.println("စာရေးတာ အောင်မြင်ပါတယ်။");
} catch (IOException e) {
System.out.println("အမှားဖြစ်သွားပါတယ်။");
e.printStackTrace();
}
}
}

ဖိုင်ထဲမှ စာဖတ်ခြင်း

Section titled “ဖိုင်ထဲမှ စာဖတ်ခြင်း”
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner; // ဖတ်ဖို့ Scanner ကို သုံးပါတယ်
public class Main {
public static void main(String[] args) {
try {
File myObj = new File("filename.txt");
Scanner myReader = new Scanner(myObj);
// စာကြောင်းတွေ ရှိနေသရွေ့ ဖတ်ပါမယ်
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
System.out.println(data);
}
myReader.close();
} catch (FileNotFoundException e) {
System.out.println("ဖိုင် ရှာမတွေ့ပါ။");
e.printStackTrace();
}
}
}

ဖိုင်ကို ဖျက်ခြင်း

Section titled “ဖိုင်ကို ဖျက်ခြင်း”
import java.io.File;
public class Main {
public static void main(String[] args) {
File myObj = new File("filename.txt");
if (myObj.delete()) {
System.out.println("ဖျက်လိုက်တဲ့ ဖိုင်: " + myObj.getName());
} else {
System.out.println("ဖိုင် ဖျက်လို့ မရပါ။");
}
}
}