হ্যাঁ, ফাইনালি ব্লক ব্যবহার করে ক্যাচ ব্লক ছাড়া ট্রাই ব্লক লেখা যায়।
ফাইনালি ব্লক সবসময় এক্সিকিউট হয়, ট্রাই ব্লকে এক্সেপশন হলে ও, শুধু System.exit() কল ছাড়া।
উদাহরণ ১: সিম্পল ট্রাই-ফাইনালি
public class TryBlockWithoutCatch {
public static void main(String[] args) {
try {
System.out.println("Try Block");
} finally {
System.out.println("Finally Block");
}
}
}
আউটপুট
Try Block Finally Block
মেথডে রিটার্ন টাইপ থাকলে ও ফাইনালি ব্লক এক্সিকিউট হয়।
উদাহরণ ২: রিটার্ন সহ ট্রাই-ফাইনালি
public class TryWithFinally {
public static int method() {
try {
System.out.println("Try Block with return type");
return 10;
} finally {
System.out.println("Finally Block always execute");
}
}
public static void main(String[] args) {
System.out.println(method());
}
}
আউটপুট
Try Block with return type
Finally Block always execute
10