تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] اصطياد رسالة الخطأ دون يتوقف البرنامج
#1
Exclamation 
سلام إحواني

جئت بسؤال آخر  Big Grin

الكود يحتوي على تلات أسطر
السطر الأول خطأ
التاني و التالت صحيح

ممكن أن أقوم باصطياد رسالة الخطأ لكن بشرط أن لا يتوقف البرنامج
يعني يضهر لي نتائج الأسطر الموالية

الرد }}}
تم الشكر بواسطة:
#2
الفكرة التى تريد ان تصل لها لم تصل لى حتى الان
حتى اتمكن ان افيدك بالطريقة المناسبة لما تريد فعله

فاتمنا لو تقوم بالتوضيح اكثر

تذكر ان نتائح الرسائل الثلاثة عبارة عن

hh2 || 3  || 4

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: الكاتب , sniperjawadino , baha
#3
مرحبا أخي elgokr 

نتيجة السطر الأول هي خطأ برمجي
La conversion de la chaîne "hh" en type 'Double' n'est pas valide.

أريد من البرنامج أن يضهر لي الخطأ ثم يكمل النتائج الأخرى
الرد }}}
تم الشكر بواسطة: elgokr
#4
(21-02-19, 03:00 PM)sniperjawadino كتب : مرحبا أخي elgokr 

نتيجة السطر الأول هي خطأ برمجي
La conversion de la chaîne "hh" en type 'Double' n'est pas valide.

أريد من البرنامج أن يضهر لي الخطأ ثم يكمل النتائج الأخرى

جميل هنا تكون الصورة واضحة لما تقصده
فى البداية انت هنا يتقوم بالغاء كود Try


ليصبح الحدث يحتوى على التالى
كود :
       MsgBox("hh" + 2)
       MsgBox(1 + 2)
       MsgBox(2 + 2)


الان لدينا خطاء فى الرسالة الاولى بسبب جمع رقم مع نص


ولتجنب الامر فالك التالى اذا كان الامر من الجمع ثابت غير متغير فيمكنك جعل جود الحدث بهذا الشكل

كود :
       On Error GoTo VNext
       MsgBox("hh" + 2)
VNext:
       MsgBox(1 + 2)
       MsgBox(2 + 2)


طيب الكود غير ثابت ولست تعلم اذا كان اذا كان الخطاء يظهر بالرسالة الاولى او الثانية او اذا كانت فى الاخيرة


فهنا ستجعل كود الحدث بهذا الشكل حتى يتعامل مع جميع الاسطر

كود :
       On Error Resume Next
       MsgBox("hh" + 2)
       MsgBox(1 + 2)
       MsgBox(2 + 2)


وبكده تكون تجنبت جميع الاخطاء التى قد تظهر ...

طيب ماذا تعنى الكود الاول
الكود الاول بيقول اذا كان يوجد خطاء فى اى سطر من الكود ابداء بالذهاب الى سطر التى يحتوى على كلمة VNext

طيب لنقول ان المشكلة فى الخطاء فى الرسالة رقم 2 وليس الاولى
بكده سيكون البرنامج يعيد ام الزهاب الى نفس السطر الذى يحتوى على خطاء ولم يحل المشكلة بل جعل من المشكلة اكثر من مشكلة

طيب الكود الثاني ماذا يعنى
الكود الثاني هو نفس الكود الاول ولكن فكرته بسيطة وهى
عند وجود خطاء عند سطر محدد تخطي السطر واذهب للسطر التالى
والسطر هنا تعنى بداية فتحة الكود الى نهايته مثل For وخلافه التى تعتمد لعى اكثر من سطر

اتمنى ان تكون الفكرة وضحت معك وان الامور اصبح بسيطة معك
وان الطريقة التى ذكرتها تناسبك لما تريد ان تفعله

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#5
السلام عليكم



الفكرة واضحة أخي elgokr

وكل شيئ أصبح واضح فعلا

جزاك الله كل خير


فقط يبقى السؤال الأساسي هو هل ممكن البرنامج أن يضهر لي الخطأ ثم يكمل النتائج الأخرى

فهذه إصطياد الخطأ دون توقف مهمة البرنامج
الرد }}}
تم الشكر بواسطة: elgokr
#6
وعليكم السلام ورحمة الله وبركاته

بخصوص
إقتباس :هل ممكن البرنامج أن يضهر لي الخطأ ثم يكمل النتائج الأخرى

نعم يمكنك ذلك كل الامر انك تجعل كود الحدث على هذا الشكل دون استخدام Try
كود :
       On Error GoTo ErrorMessage
       MsgBox("hh" + 2)
       MsgBox(1 + 2)

       Exit Sub
ErrorMessage:
       MsgBox(Err.GetException().Message) ' ضع ما تشاء من الرسالة هنا
       Resume Next

ولاحظ جيداً وجود 
كود :
       Exit Sub

اعلى سطر 
كود :
ErrorMessage:

فهو الزامى جداً
بحيث الفكرة انا بقول فى حالة وجود خطاء اذهب الى السطر تحت مسمى [اى كان الاسم]
وخلال هذا السطر يقوم باظهار رسالة طبقاً لما تريد من ثم يعيد متابعة الامر لما بعد الخطاء اى السطر التالي للامر

وطبعاً من غير وجود 
كود :
       Exit Sub

فيعنى عند الانتهاء من الحدث ولا يوجد اى خطاء
سيقوم بعرض الرسالة ويعيد محاول الرجوع لما بعد الخطاء سيجد لا يوجد ثم يقوم انهاء الامر
ولتجنب هذا تم وضع سطر اغلاق الحدث لتجنب هذا الامر

بكده تكون فعلت ما تريد تماماً وكما هو مطرح فى السؤال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#7
حقا هذا ما أبحث عنه
نجحت الفكرة
وضع تقييم لمساعدتك هو أقل شكر لك
جزاك الله كل خير
الرد }}}
#8
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 148 12-03-24, 10:37 AM
آخر رد: strongriseman
  ماهو حل هذا الخطأ في الكود melad2002 7 264 25-02-24, 12:25 AM
آخر رد: justforit
  محتاج تشفير فيديو وتشغلية عن طريق البرنامج فقط new_programer 1 112 22-02-24, 12:09 PM
آخر رد: AHMED213
  مطلوب كود الطباعة لهذا البرنامج melad2002 2 234 13-01-24, 06:42 PM
آخر رد: melad2002
  مشكلة تعليق البرنامج في حال عدم وجود ماسح ضوئي متصل بالكمبيوتر صالح عبدالله 1 210 09-01-24, 10:51 PM
آخر رد: صالح عبدالله
  [VB.NET] ارسال رسالة واتساب h2551996 0 187 07-01-24, 12:17 PM
آخر رد: h2551996
  شرح عن الخطأ attempted to read or write Adel27213 3 384 05-01-24, 01:01 AM
آخر رد: HALIM ELEULMA
  [VB.NET] ما الخطأ فى هذا الكود - كود البحث المتعدد Ashraf Elafify 7 464 27-12-23, 10:50 PM
آخر رد: Ashraf Elafify
  حل مشكلة بعد تثبيت البرنامج في جهاز العميل Adel27213 3 467 02-12-23, 11:00 PM
آخر رد: justforit
  كيف اجعل البرنامج في بداية الشهر ينفذ حدث معين بالاصح اريد البرنامج في تاريخ واحد من Adel27213 3 484 05-11-23, 01:45 AM
آخر رد: justforit

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم