سؤال

إذا تعطل طلبي ، فإن مكتبة وقت تشغيل Microsoft Visual C ++ "خطأ في وقت التشغيل!" يحدث.

نص الرسالة هو:
طلب هذا التطبيق وقت التشغيل لإنهاء بطريقة غير عادية.
يرجى الاتصال بفريق دعم التطبيقات للحصول على مزيد من المعلومات.

أعلم أنني بحاجة إلى حل كل هذه المشكلات ، لكنني أتخيل أن هذا الخطأ لم يظهر في الماضي. هل هناك خيار في Visual Studio 2005 لتمكين/تعطيل مثل هذا الخطأ (المناولة)؟. بدلاً من ذلك ، أتوقع أن يتعطل التطبيق/الخروج فقط وتقديم تقرير خطأ Microsoft Windows.

هل كانت مفيدة؟

المحلول

تظهر رسالة الخطأ هذه إذا لم يتم التعامل مع استثناء و unexpected() يتم استدعاؤه أو إذا كان الاستثناء يهرب من المدمرة أثناء الاسترخاء في المكدس و terminate() يسمى. كلاهما يؤدي إلى abort() يجري استدعاؤه و abort() التنفيذ الذي يوضح مربع الرسالة. هذا السلوك هو حسب التصميم في VS2K3 و VS2K5 و VS2K8. إنه أمر مزعج حقًا خاصة في التطبيقات التي تهدف إلى الجري دون تدخل بشري (مثل التصميمات اليومية على سبيل المثال).

يمكنك حل هذا السلوك - الاستخدام catch(...) لالتقاط جميع الاستثناءات في المستوى الأعلى وضبط خاصتك terminate() معالج باستخدام set_terminate().

نصائح أخرى

استعمال:

_set_abort_behavior( 0, _WRITE_ABORT_MSG);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top