না, throw স্টেটমেন্টের পরে কোনো কোড রাখা যায় না, এতে কম্পাইল টাইম এরর Unreachable Statement হয়।
জাভাতে throw কিওয়ার্ড
- throw কিওয়ার্ড ব্যবহার করা হয় এক্সেপশন ম্যানুয়ালি নিক্ষেপ করার জন্য।
- যখন ইউজার-ডিফাইনড লজিক্যাল এরর কন্ডিশন অনুযায়ী ফাংশনালিটির এক্সিকিউশন সাসপেন্ড করতে হয়, তখন এই throw কিওয়ার্ড ব্যবহার করে এক্সেপশন নিক্ষেপ করা হয়।
- এই এক্সেপশনগুলো try এবং catch ব্লক ব্যবহার করে হ্যান্ডেল করতে হয়।
জাভাতে throw কিওয়ার্ড ব্যবহার করার নিয়ম
- throw কিওয়ার্ড অবশ্যই Throwable টাইপের অবজেক্ট ফলো করতে হবে।
- throw কিওয়ার্ড শুধু মেথড লজিকের ভিতরে ব্যবহার করা যায়।
- যেহেতু এটি একটি ট্রান্সফার স্টেটমেন্ট, throw স্টেটমেন্টের পরে কোনো স্টেটমেন্ট রাখা যায় না। এতে কম্পাইল-টাইম এরর Unreachable code হয়।
- throw কিওয়ার্ড ব্যবহার করে ইউজার-ডিফাইনড এবং প্রিডিফাইনড উভয় এক্সেপশন নিক্ষেপ করা যায়।
উদাহরণ
public class ThrowKeywordDemo {
public static void main(String[] args) {
try {
throw new ArithmeticException();
System.out.println("In try block"); // কম্পাইল-টাইম এরর, unreachable statement
} catch (Exception e) {
System.out.println(e);
e.printStackTrace();
}
}
}
উপরোক্ত কোড এক্সিকিউট হয় না কারণ try ব্লকে throw স্টেটমেন্টের পরে একটি স্টেটমেন্ট আছে, যা কম্পাইল-টাইম এরর তৈরি করে। সুতরাং জাভাতে throw স্টেটমেন্টের পরে কোনো স্টেটমেন্ট রাখা যায় না।
আউটপুট
unreachable statement
System.out.println("In try block");