এই ডাব্লুআইএল শেষ অবধি শেষ হবে এমন যুক্তিসঙ্গত প্রমাণ সরবরাহ করার জন্য, আমি নিম্নলিখিত পরিবর্তে অর্থহীন কোড সরবরাহ করি। দ্রষ্টব্য: জাভা আমার ভাষা নয়, সবচেয়ে সুস্পষ্ট কল্পনার কোনও প্রসার দ্বারা। আমি পিটার্স উত্তর, যা সমর্থন করার জন্য কেবল এই দিতে চাওয়া প্রশ্নের সঠিক উত্তর।
যখন অনুরোধটি ঘটতে পারে না তখন কী হয় তার পরিস্থিতি অনুকরণ করার চেষ্টা করে কারণ এটি একটি স্ট্যাক ওভারফ্লো প্রবর্তন করে। আমার কাছে মনে হয় যে লোকেদের উপলব্ধি করতে ব্যর্থ হয় যে আহ্বানটি ঘটে না যখন তা ঘটে না ।
public class Main
{
public static void main(String[] args)
{
try
{ // invoke foo() with a simulated call depth
Main.foo(1,5);
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
}
public static void foo(int n, int limit) throws Exception
{
try
{ // simulate a depth limited call stack
System.out.println(n + " - Try");
if (n < limit)
foo(n+1,limit);
else
throw new Exception("StackOverflow@try("+n+")");
}
finally
{
System.out.println(n + " - Finally");
if (n < limit)
foo(n+1,limit);
else
throw new Exception("StackOverflow@finally("+n+")");
}
}
}
গু-র এই সামান্য অর্থহীন স্তূপের আউটপুটটি নিম্নরূপ, এবং ধরা পড়া প্রকৃত ব্যতিক্রমটি অবাক হয়ে আসতে পারে; ওহ, এবং 32 টি কল কল (2 ^ 5), যা সম্পূর্ণ প্রত্যাশিত:
1 - Try
2 - Try
3 - Try
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
3 - Finally
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
2 - Finally
3 - Try
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
3 - Finally
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
1 - Finally
2 - Try
3 - Try
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
3 - Finally
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
2 - Finally
3 - Try
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
3 - Finally
4 - Try
5 - Try
5 - Finally
4 - Finally
5 - Try
5 - Finally
java.lang.Exception: StackOverflow@finally(5)
finally
ধারাটির প্রসেসিংয়ের সময় নষ্ট হওয়া ত্রুটিগুলি পরবর্তী স্তর পর্যন্ত প্রচার করবে। তবে আপনার দম ধরে রাখবেন না; গৃহীত পদক্ষেপের সংখ্যা প্রায় 2 থেকে সর্বোচ্চ (সর্বাধিক স্ট্যাকের গভীরতা) হবে এবং ব্যতিক্রম ছোঁড়াও একেবারেই সস্তা নয়।