👻 تله دوم (و خطرناکترین) :
سرریز شدن سایلنت (Silent Overflow)
این یکی کابوس برنامهنویسهاست! تصور کنید کیلومترشمار یه ماشین قدیمی بعد از اینکه به 999999 میرسه، دوباره صفر میشه. اعداد صحیح هم به صورت پیشفرض دقیقاً همین رفتار رو دارن!
اگه یه عملیات حسابی از حداکثر ظرفیت یه نوع داده بیشتر بشه، هیچ خطایی رخ نمیده! نتیجه به صورت سایلنت به ابتدای محدوده برمیگرده (Wraparound).
int i = int.MaxValue; // بزرگترین عدد ممکن برای int (حدود ۲ میلیارد)
i = i + 1; // یک واحد بهش اضافه میکنیم
// انتظار داریم خطا بده یا یه عدد بزرگتر بشه، ولی...
// عدد از ماکسیمم به مینیمم جهش میکنه!
Console.WriteLine(i == int.MinValue); // خروجی: True!
این رفتار سایلنت میتونه باعث ایجاد باگهای منطقی بسیار خطرناک و غیرقابل ردیابی در محاسبات مالی، علمی و امنیتی بشه.