كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم مقالات C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=177) +--- الموضوع : كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت (/showthread.php?tid=4427) |
كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - Mostafa Dahab - 24-09-12 بسم الله الرحمن الرحيم والصلاة والسلام على اشرف الأنبياء والمرسلين اما بعد
في هذا الدرس سوف تتعلم1. تفهم كيف تعمل الأخطاء 2.كيف تتفدى الأخطاء الغير متوقعة 3. تتخطها وتضع كود بنفسك النقطة الأولى : الأخطاء في برامج الدوت نت ترسل عبر jit اختصار لعبارة (just in time debugger) عندما يحصل خطأ فهوى يحصل في Thread اي جزء من عمليات البرنامج عندما يحدث اي خطأ ينفذ البرنامج المطلوب منة في الأصل وهو اخراج مربع الخطأ [ATTACH=CONFIG]218[/ATTACH] نلاحظ ما كتب في الصورة من فوق "حدث استثناء غير معالج" عموما كون الرسالة بالعربية او اي لغة يرجع الى لغة الدوت نت المثبتة إذا يخبرنا البرنامج انة خطأ غير معالج وهذا الصندوق لأنك لم تضع علاجا او بالأصح لم تحدد ماذا سيفعل البرنامج عندها ولأنك لم تحدد فالمنقح تلقئيا اخرج هذا المربع النقطة الثانية : لا يعني استخدامك ل Try ان برنامجك خالي من الأخطأ احينا تحدث اخطاء غير متوقعة الحل : ببساطة لو ركزت في الكلام الذي فوق ستكتشف ما الحل , ذكرت انة يحدث الخطأ في Thread إذا هل يوجد Event لهذا الخطأ نعم كما يوجد حدث button_click يوجد حدث ThreadException لنتعرف اكثر على هذا الحدث : اولا الصيغة الحدث vb.net كود : Public Sub [color=#000000][FONT=Consolas]ThreadException[/FONT][/color](ByVal sender As Object, ByVal e As ThreadExceptionEventArgs) C#.net كود : static void ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) طيب هذا الحدث كيف نستخدمة (لاتستعجل اي شئ اصبر وقرأ لنهاية الشرح) e تعبر عن الخطأ فمثلا نريد البرنامج يخرج لنا رسالة بسيطة تخبرنا ما هو الخطأ الكود vb.net كود : Public Sub ThreadException(ByVal sender As Object, ByVal e As ThreadExceptionEventArgs) C#.net كود : static void ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) وهكذا اي شئ تريد عملة ممكن ان تجعل البرنامج يخرج او يرسل لك الخطأ بالإيميل او لا يعمل شئ طيب اين نضع هذا الأمر vb.net ربط الحدث هذا الأمر يتم كتالي كود : AddHandler Application.ThreadException, AddressOf ThreadException[COLOR=#000000][FONT=Consolas] ضع هذا الكود في Form_load او اي مكان تريد ثم ضع الأمر هذا في اي مكان اخر وهذا مثال بالصور [ATTACH=CONFIG]219[/ATTACH] الكود كامل كود : Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles My****.Load وبكذا تكون قد قضيت على النافذة جرب ان تشغل البرنامج خارج الفجوال ستجد ظهور الرسالة C#.NET اسهل بكثير افتح ملف "program.cs" ستجد التالي : كود : using System; وهذا هو امر التشغيل كود : Application.Run(new Form1()); دع قبلة كود الإسناد : كود : Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(ThreadException); كود : static void ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) كود : using System; ويمكنك وضع اي كود تريدة ارجو ان تكون قد استدفدت وفهمت الكود لا نقلتة فقط وما كان من خطأ فمني والشيطان وما كان من صواب فمن الله وحدة والى القاء في دورس قادمة ان شاء الله بالتوفيق كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - Sajad - 25-09-12 [color="#000080"]السلام عليكم تم نقل الموضوع الى قسم مقالات #c [/color] [color="#ff0000"]تنبيه: يرجى كتابة الموضوع في القسم المخصص له وطرحه في قسم واحد فقط ولا يجوز كتابة مقالة او درس في قسم الاسئلة يرجى مراعاة ذلك في المرة القادمة[/color] بارك الله فيك جزاك الله خيرا على المعلومة كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - Mostafa Dahab - 25-09-12 اسف جدا اصلا كنت كاتب اكود C# في السي شارب وvb.net في vb.net لكن اعتقد clipboard خطأ عموما اسف جداً ولن تتكر ان شاء الله كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - Sajad - 25-09-12 [COLOR="#800000"]لا بأس اخي الكريم
لكن المشكلة ان هذا الموضوع رأيته في قسم مقالات vb.net ايضا لذا سيقوم المراقب على هذه الاقسم بحذفه من احد القسمين لانه لايجوز تكرار موضوع في اكثر من قسم بارك الله فيك[/COLOR] كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - Mostafa Dahab - 25-09-12 عدل وإحذف اكواد الفي بي وضعا هناك والعكس سببت لكم الإزعاج اسف جدا كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - smss - 27-09-12 السلام عليكم هذا الموضوع فيه لغة vb.net and c# ?? عموما يمكن اختصار كل هذا الكود حيث هناك كلاس اسمه application فيه حدث اسمه UnhandledExptions ممكن تتكتب الرسالة هناك وخلاص عموما مضر احذف الموضوع واعد تنسقه مرة اخري ^_^ كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - Blue Sky - 27-09-12 موضوع جميل يستحق الثناء كيف تتخطى نافذة الخطأ Error Dialog في الدوت نت - Mostafa Dahab - 28-09-12 ليس كل مايلمع ذهب لا تغتر بالسهولة ولو كان هذا صحيح لكتبة الفرق The UnhandledException event handles uncaught exceptions thrown from the main UI thread. The ThreadException event handles uncaught exceptions thrown from non-UI threads. عموما اضفة لكن تذكر ان تشرح كل ما تضيف بالتوفيق |