تمكين أو تعطيل معالجات الأخطاء.
يوضح
إذا لم يتم استخدام عبارة onerrorresumenext في الكود الخاص بك ، فسيقوم خطأ وقت التشغيل بعرض رسالة خطأ ، وسيتم تنفيذ تنفيذ الرمز. ومع ذلك ، يتم تحديد العملية المحددة بواسطة المضيف الذي يقوم بتشغيل الرمز. يمكن للمضيف في بعض الأحيان التعامل مع الأخطاء المختلفة بشكل انتقائي. في بعض الحالات ، يمكنه تنشيط تصحيح النصوص حيث يحدث الخطأ. في حالات أخرى ، نظرًا لأن المضيف لا يمكنه إخطار المستخدم ، فإن الخطأ الذي يحدث لم يتم ذكره بشكل صريح. أما بالنسبة لكيفية التعامل مع الأخطاء ، فإن ذلك يعتمد بالكامل على وظيفة المضيف.
في أي إجراء خاص ، يكون الخطأ الذي يحدث بشكل عام غير قاتل طالما تم تمكين معالج الخطأ على مكدس الاتصال. إذا لم يتم تمكين معالج الخطأ المحلي في عملية ، عند حدوث خطأ ، يمكن نقل التحكم من خلال مكالمة المكدس حتى يتم العثور على عملية مع معالج خطأ ويتم معالجة الخطأ عند حدوث الخطأ. إذا لم يتم العثور على معالج خطأ أثناء مكدس الاتصال ، يتم عرض رسالة خطأ عند حدوث الخطأ ، بينما يتم إنهاء تنفيذ الكود ، أو يتم التعامل مع الخطأ بشكل صحيح من خلال المضيف.
سيؤدي OnerrorSumenext إلى استمرار البرنامج في التنفيذ كبيان بعد بيان الخطأ ، أو كبيان في أحدث عملية تسمى (والتي تحتوي على بيان onerrorsumenext). يمكن أن يستمر هذا البيان في تنفيذ البرنامج بغض النظر عن أخطاء وقت التشغيل ، ثم يمكنك إنشاء روتين معالجة الأخطاء داخل العملية. عندما يتم استدعاء إجراء آخر ، يصبح بيان onerrorresumenext غير نشط. لذلك ، إذا كنت ترغب في تنفيذ معالجة الأخطاء الداخلية في روتين ، فيجب عليك تنفيذ بيان onerrorresumenext في كل روتين.
عندما يتم استدعاء إجراء آخر ، يتم حظر بيان onerrorresumenext ، لذلك إذا كنت ترغب في تضمين معالج الأخطاء في روتينك ، فأنت بحاجة إلى تنفيذ عبارة onerrorresumenext في كل مرة يتم فيها استدعاء الروتين. عند الخروج من العملية ، يمكن لمعالج الخطأ استعادة حالته قبل إدخال العملية المخرج.
إذا قمت بتمكين معالج خطأ Onerrorresumenext ، فيمكنك استخدام onerrorgoto0 لتعطيل معالج الخطأ.
<٪
iferr.number <> 0then
استجابة. write "number =" & err.number & "<p>"
استجابة. "الوصف =" & err.description و "<p>"
استجابة. write "source =" & err.source
err.clear
٪>