![]() |
|
[VB.NET] اصطياد رسالة الخطأ دون يتوقف البرنامج - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] اصطياد رسالة الخطأ دون يتوقف البرنامج (/showthread.php?tid=28706) |
اصطياد رسالة الخطأ دون يتوقف البرنامج - sniperjawadino - 20-02-19 سلام إحواني جئت بسؤال آخر الكود يحتوي على تلات أسطر السطر الأول خطأ التاني و التالت صحيح ممكن أن أقوم باصطياد رسالة الخطأ لكن بشرط أن لا يتوقف البرنامج يعني يضهر لي نتائج الأسطر الموالية
RE: اصطياد رسالة الخطأ دون يتوقف البرنامج - elgokr - 21-02-19 الفكرة التى تريد ان تصل لها لم تصل لى حتى الان
حتى اتمكن ان افيدك بالطريقة المناسبة لما تريد فعله
فاتمنا لو تقوم بالتوضيح اكثر
تذكر ان نتائح الرسائل الثلاثة عبارة عن
hh2 || 3 || 4
تحياتى لك
وتمنياتى لك التوفيق
RE: اصطياد رسالة الخطأ دون يتوقف البرنامج - sniperjawadino - 21-02-19 مرحبا أخي elgokr نتيجة السطر الأول هي خطأ برمجي La conversion de la chaîne "hh" en type 'Double' n'est pas valide. أريد من البرنامج أن يضهر لي الخطأ ثم يكمل النتائج الأخرى RE: اصطياد رسالة الخطأ دون يتوقف البرنامج - elgokr - 21-02-19 (21-02-19, 03:00 PM)sniperjawadino كتب : مرحبا أخي elgokr جميل هنا تكون الصورة واضحة لما تقصده
فى البداية انت هنا يتقوم بالغاء كود Try
ليصبح الحدث يحتوى على التالى كود : MsgBox("hh" + 2)الان لدينا خطاء فى الرسالة الاولى بسبب جمع رقم مع نص
ولتجنب الامر فالك التالى اذا كان الامر من الجمع ثابت غير متغير فيمكنك جعل جود الحدث بهذا الشكل كود : On Error GoTo VNextطيب الكود غير ثابت ولست تعلم اذا كان اذا كان الخطاء يظهر بالرسالة الاولى او الثانية او اذا كانت فى الاخيرة
فهنا ستجعل كود الحدث بهذا الشكل حتى يتعامل مع جميع الاسطر كود : On Error Resume Nextوبكده تكون تجنبت جميع الاخطاء التى قد تظهر ...
طيب ماذا تعنى الكود الاول
الكود الاول بيقول اذا كان يوجد خطاء فى اى سطر من الكود ابداء بالذهاب الى سطر التى يحتوى على كلمة VNext
طيب لنقول ان المشكلة فى الخطاء فى الرسالة رقم 2 وليس الاولى
بكده سيكون البرنامج يعيد ام الزهاب الى نفس السطر الذى يحتوى على خطاء ولم يحل المشكلة بل جعل من المشكلة اكثر من مشكلة
طيب الكود الثاني ماذا يعنى
الكود الثاني هو نفس الكود الاول ولكن فكرته بسيطة وهى
عند وجود خطاء عند سطر محدد تخطي السطر واذهب للسطر التالى
والسطر هنا تعنى بداية فتحة الكود الى نهايته مثل For وخلافه التى تعتمد لعى اكثر من سطر
اتمنى ان تكون الفكرة وضحت معك وان الامور اصبح بسيطة معك
وان الطريقة التى ذكرتها تناسبك لما تريد ان تفعله
تحياتى لك
وتمنياتى لك التوفيق
RE: اصطياد رسالة الخطأ دون يتوقف البرنامج - sniperjawadino - 27-02-19 السلام عليكم الفكرة واضحة أخي elgokr وكل شيئ أصبح واضح فعلا جزاك الله كل خير فقط يبقى السؤال الأساسي هو هل ممكن البرنامج أن يضهر لي الخطأ ثم يكمل النتائج الأخرى فهذه إصطياد الخطأ دون توقف مهمة البرنامج RE: اصطياد رسالة الخطأ دون يتوقف البرنامج - elgokr - 27-02-19 وعليكم السلام ورحمة الله وبركاته
بخصوص إقتباس :هل ممكن البرنامج أن يضهر لي الخطأ ثم يكمل النتائج الأخرى نعم يمكنك ذلك كل الامر انك تجعل كود الحدث على هذا الشكل دون استخدام Try كود : On Error GoTo ErrorMessageولاحظ جيداً وجود كود : Exit Subاعلى سطر كود : ErrorMessage:فهو الزامى جداً
بحيث الفكرة انا بقول فى حالة وجود خطاء اذهب الى السطر تحت مسمى [اى كان الاسم]
وخلال هذا السطر يقوم باظهار رسالة طبقاً لما تريد من ثم يعيد متابعة الامر لما بعد الخطاء اى السطر التالي للامر
وطبعاً من غير وجود كود : Exit Subفيعنى عند الانتهاء من الحدث ولا يوجد اى خطاء
سيقوم بعرض الرسالة ويعيد محاول الرجوع لما بعد الخطاء سيجد لا يوجد ثم يقوم انهاء الامر
ولتجنب هذا تم وضع سطر اغلاق الحدث لتجنب هذا الامر
بكده تكون فعلت ما تريد تماماً وكما هو مطرح فى السؤال
تحياتى لك
وتمنياتى لك التوفيق
RE: اصطياد رسالة الخطأ دون يتوقف البرنامج - sniperjawadino - 02-03-19 حقا هذا ما أبحث عنه نجحت الفكرة وضع تقييم لمساعدتك هو أقل شكر لك جزاك الله كل خير RE: اصطياد رسالة الخطأ دون يتوقف البرنامج - elgokr - 07-03-19 الشكر لله والحمد لله
والحمد لله على كل حال
تحياتى لك
وتمنياتى لك التوفيق
|