ක්රමලේඛකයෙකු ලෙස ඔබ පැහැදිලිවම පුනරාවර්තනයක් හේතුවෙන් තොග පිටාර ගැලීමේ දෝෂය දනී. නමුත් එම දෝෂය මඟහරවා ගැනීම සඳහා ඔබේ ප්රියතම භාෂාව ලබා ගැනීමට අමුතු හා අසාමාන්ය ක්රම බොහොමයක් තිබේ.
අරමුණු:
- දෝෂ ප්රතිදානයේ පැහැදිලිව පෙනෙන පරිදි තොග පිටාර ගැලීමක් සිදුවිය යුතුය.
- පැහැදිලි පුනරාවර්තනයක් භාවිතා කිරීමට අවසර නැත.
අවලංගු වැඩසටහන් සඳහා උදාහරණ:
// Invalid, direct obvious recursion.
methodA(){ methodA(); }
// Invalid, indirect, but obvious recursion.
methodA(){ methodB(); }
methodB(){ methodA(); }
වඩාත්ම ජනප්රිය නිර්මාණ තරඟයක් ලෙස වඩාත් නිර්මාණාත්මක ක්රම හොඳම වේ. එනම්, මේ වගේ පැහැදිලි පිළිතුරු නීරස කිරීමෙන් වළකින්න:
throw new StackOverflowError(); // Valid, but very boring and downvote-deserving.
මම දැන් පිළිතුරක් පිළිගත්තද, තවත් පිළිතුරු එකතු කිරීම තවමත් හරි :)