assertions
ينطبق هذا الموضوع على:
النسخة |
Visual Basic |
C# |
#F |
C++ |
مطور الويب |
---|---|---|---|---|---|
Express |
أصلي فقط |
||||
pro ، Premium و Ultimate |
أصلي فقط |
تحديد عبارة تأكيد شرط التي تتوقعها إلى اضغط صحيحاً عند يؤشر معينة في البرنامج. إذا لم هذا الشرط تقييد true، التأكيد فشل، تنفيذ البرنامج الخاص بك هو مقاطعة، ويظهر من صندوق الحوار "فشل التأكيد.
يعتمد Visual C + + asserti تشغيل عبارات يعمل تشغيل cتشغيلstructs التالية:
MFC assertions برنامج MFC.
ATLASSERT ل البرامج التي تستخدم ATL.
assertions عرض CRT لبرامج استخدم مكتبة وقت التشغيل C.
ANSI تأكيد دالة البرامج/C + + C.
يمكنك استخدم assertions إلى:
التقاط أخطاء المنطق. لمزيد من المعلومات، راجع Catching خطأ في منطق.
فحص نتائج عملية. لمزيد من المعلومات، راجع يؤدي تدقيق.
قم باختبار الخطأ الشروط التي يجب معالجتها. لمزيد من المعلومات، راجع اختبار خطأ الشرط.
MFC و C تشغيل-الوقت مكتبة Assertions
عند توقف مصحح الأخطاء نظراً لتأكيد مكتبة وقت التشغيل MFC أو C، ينتقل إلى النقطة الموجودة في الملف المصدر بحيث حدث التأكيد (إذا كان المصدر هو المتوفرة). تظهر الرسالة كـ sertion في من النافذة إخراج كـ أيضا كـ كـ sertion فشل صندوق الحوار . يمكنك نسخ الرسالة التأكيد من إخراج نافذة إلى نص نافذة إذا كنت تريد حفظه كمرجع مستقبلي. قد يحتوي الإطار إخراج رسائل خطأ غير ذلك كـ أيضا. فحص هذه الرسائل بعناية، لأنها توفر تلميحات إلى سبب فشل التأكيد.
من خلال liberal استخدم من assertions في تعليمات برمجية الخاصة بك، يمكنك التقاط العديد من الأخطاء أثناء التطوير. قاعدة بضاعة هو للكتابة تأكيد للافتراض كل إجراء. إذا قمت بافتراض التي وسيطة هو غير فارغة، على سبيل المثال، استخدم عبارة تأكيد للتحقق من وجود هذا الافتراض.
_debug
تأكيد ترجمة عبارات فقط حين _DEBUG هو المعرفة. عند _DEBUG هو غير معرفة، المحول البرمجي كمكافئ assertions عبارات فارغة. ولذلك، عبارات التأكيد صفر الحمل في برنامج الإصدار النهائي الخاص بك؛ يمكنك استخدامها liberally في تعليمات برمجية الخاصة بك دون التأثير على أداء الإصدار الإصدار الخاص بك و دون الحاجة إلى استخدام #ifdefتوجيهات.
تأثيرات جانبية من استخدام Assertions
عندما تقوم بإضافة assertions للتعليمات البرمجية الخاصة بك، تأكد من أن لم يكن assertions جانب تأثيرات. على سبيل المثال، خذ بعين الاعتبار التأكيد التالية:
ASSERT(nM++ > 0); // Don't do this!
لأن التعبير ASSERT هو لا يتم تقييم في نسخة الإصدار البرنامج الخاص بك، nMسيكون قيم مختلفة في التصحيح والإصدار الالإصدارات. في MFC، يمكنك استخدم الماكرو التحقق بدلاً من ASSERT . فحص يتم تقييم التعبير ولكن لا يتحقق النتيجة يطرح المنتج الإصدار.
انتبه خاصة حول استخدام استدعاء دالة في عبارات التأكيد، لأن جاري الآن التقييم دالة يمكن أن يكون للآثار الجانبية غير متوقع.
ASSERT ( myFnctn(0)==1 ) // unsafe if myFnctn has side effects
VERIFY ( myFnctn(0)==1 ) // safe
التحقق باستدعاء myFnctnفي إصدارات التصحيح والإصدار، لذلك من المقبول إلى الاستخدام. لا يزال لديك مقدار الحمل من دالة غير الضرورية يتصل في الإصدار الإصدار، على الرغم من ذلك.
راجع أيضًا:
المرجع
التأكيدات في التعليمات البرمجية المدارة