tryসঞ্চালনের ব্লক সম্পন্ন হয়ে returnবিবৃতি এবং এর মান sসময়ে returnবিবৃতি executes পদ্ধতি দ্বারা ফিরে মান। এই finallyধারাটি পরবর্তীকালে s( returnবিবৃতি সম্পূর্ণ হওয়ার পরে ) এর মান পরিবর্তন করে (এই মুহুর্তে) ফেরতের মান পরিবর্তন করে না।
নোট করুন যে উপরেরগুলি ব্লকটিতে sনিজের মানের পরিবর্তনের সাথে সম্পর্কিত হয় finally, যা sউল্লেখ করা বস্তুর সাথে নয় । যদি sকোনও পরিবর্তনীয় অবজেক্টের संदर्भ হয় (যা Stringনয়) এবং অবজেক্টের বিষয়বস্তুগুলিfinally ব্লকটিতে পরিবর্তন করা হয়েছিল , তবে সেই পরিবর্তনগুলি প্রত্যাবর্তিত মানটিতে দেখা যাবে।
এই সমস্ত কীভাবে পরিচালিত হয় তার বিশদ বিধিগুলি জাভা ভাষা নির্দিষ্টকরণের বিভাগ 14.20.2 এ পাওয়া যাবে । নোট করুন যে একটি returnবিবৃতি কার্যকর করার ফলে tryব্লকটির আকস্মিক সমাপ্তি হিসাবে গণনা করা হয়েছে (" যদি চেষ্টা ব্লকের বাস্তবায়ন হঠাৎ অন্য কোনও কারণে আর .... " প্রযোজ্য হয় তবে শুরু হওয়া বিভাগটি শুরু হয় )। জেএলএসের 14.17 ধারা দেখুন কেন returnবিবৃতিটি কোনও ব্লকের হঠাৎ সমাপ্তি।
আরও বিশদের মাধ্যমে: যদি বিবৃতিটির কারণে কোনও বিবৃতি tryএবং ব্লক উভয়ই হঠাৎ করে বন্ধ হয়ে যায় , তবে §14.20.2 থেকে নিম্নলিখিত বিধিগুলি প্রয়োগ করা হবে:finallytry-finallyreturn
tryঅন্য কোনও কারণে আর [যদি একটি ব্যতিক্রম ছোঁড়ার পাশাপাশি] হঠাৎ করে ব্লকের সম্পাদন সম্পূর্ণ হয়, তবে finallyব্লকটি কার্যকর করা হয় এবং তারপরে একটি বিকল্প রয়েছে:
- যদি
finallyব্লকটি স্বাভাবিকভাবে সম্পূর্ণ হয়, তবে tryবিবৃতিটি হঠাৎ করে আর এর কারণে পূর্ণ হয়।
- যদি
finallyএস কারণে কারণে ব্লকটি হঠাৎ করে সম্পূর্ণ হয়, তবে tryস্টেটমেন্টটি হঠাৎ করে এস কারণে (এবং কারণ আর বাদ দেওয়া হয়) জন্য সম্পূর্ণ হয়।
ফলাফলের যে returnবিবৃতি finallyব্লক সমগ্র ফেরত মান নির্ধারণ করে try-finallyবিবৃতি, এবং থেকে প্রত্যাগত মান tryব্লক বাতিল করা হয়। অনুরূপ একটি জিনিস ঘটে try-catch-finallyযদি বিবৃতি tryব্লক একটি ব্যতিক্রম, এটি একটি দ্বারা ধরা ছোঁড়ার catchব্লক, এবং উভয় catchব্লক এবং finallyব্লক আছে returnবিবৃতি।