হ্যাঁ, জাভাতে ক্যাচ এবং ফাইনালি ব্লকে মেথডের রিটার্ন স্টেটমেন্ট লিখা যায়।
- যদি একটি মেথডের রিটার্ন টাইপ থাকে এবং শর্তানুসারে মেথডের যেকোনো অংশ থেকে মান রিটার্ন করা যায়।
- ক্যাচ ব্লকে মান রিটার্ন করলে এবং মেথডের শেষে আবার রিটার্ন স্টেটমেন্ট থাকলে কোড সফলভাবে এক্সিকিউট হয়।
- ক্যাচ ব্লকে রিটার্ন করার পর যদি মেথডের শেষে অন্য কোনো স্টেটমেন্ট থাকে, তবে সেটি আনরিচেবল কোড হয়ে যায় (জাভা আনরিচেবল কোড সাপোর্ট করে না)।
- ফাইনালি ব্লকে মান রিটার্ন করলে মেথডের শেষে আলাদা রিটার্ন স্টেটমেন্ট রাখার প্রয়োজন নেই।
উদাহরণ ১: ক্যাচ ব্লকে রিটার্ন
public class CatchReturn {
int calc() {
try {
int x = 12 / 0;
} catch (Exception e) {
return 1;
}
return 10;
}
public static void main(String[] args) {
CatchReturn cr = new CatchReturn();
System.out.println(cr.calc());
}
}
আউটপুট
1
উদাহরণ ২: ফাইনালি ব্লকে রিটার্ন
public class FinallyReturn {
int calc() {
try {
return 10;
} catch (Exception e) {
return 20;
} finally {
return 30;
}
}
public static void main(String[] args) {
FinallyReturn fr = new FinallyReturn();
System.out.println(fr.calc());
}
}
আউটপুট
30