تعطيل خطأ في وقت التشغيل Microsoft Visual C ++
-
20-09-2019 - |
سؤال
إذا تعطل طلبي ، فإن مكتبة وقت تشغيل 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);