استثنا غیر قابل کنترل - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

استثنا غیر قابل کنترل

0 امتیاز
حتما براتون پیش اومده برخی اوقات با اینکه از بلوک catch استفاده کردید که استثناهایی که در یک منطقه مشخص از کد را مدیریت کنید ولی بلوک catch نمی تونه استثنا را مدیریت کنه مثلا قرار اگر ا catch ... استفاده می کنیم هر اسثتنایی که رخ میده مدیریت بشه ولی در برخی از موارد اینطور نیست علت چیه؟
سوال شده مرداد 17, 1402  بوسیله ی Lori3 (امتیاز 857)   11 37 106

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

در C++، برخی از خطاهای سطح سیستم‌عامل (OS) قابل catch نیستند و نمی‌توان آن‌ها را با استفاده از مکانیزم try/catch در C++ مدیریت کرد. این خطاها معمولاً به عنوان نتیجه‌ای از وقوع یک خطای سخت‌افزاری یا نقض یک قانون سیستم‌عامل رخ می‌دهند و باعث خاتمه برنامه می‌شوند.

برخی از این خطاهای سطح سیستم‌عامل عبارتند از:

  • خطای حافظه (memory access violation): این خطا زمانی رخ می‌دهد که برنامه تلاش کند به قسمتی از حافظه دسترسی پیدا کند که به آن دسترسی ندارد.
  • خطای شناور (floating point exception): این خطا زمانی رخ می‌دهد که برنامه تلاش کند یک عمل ریاضی نامعتبر را با استفاده از اعداد شناور انجام دهد، مانند تقسیم بر صفر.
  • خطای نقض دستور (illegal instruction): این خطا زمانی رخ می‌دهد که برنامه تلاش کند یک دستور نامعتبر را در پردازنده اجرا کند.

این خطاها معمولاً باعث خاتمه برنامه می‌شوند و نمی‌توان آن‌ها را با استفاده از try/catch در C++ catch کرد.

 

پاسخ داده شده مرداد 17, 1402 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد مرداد 24, 1402 بوسیله ی Lori3
...