لماذا نتيجتان مختلفتان أثناء التعامل مع نفس الاستثناء في C#؟
سؤال
لقد تعاملت مع نفس الاستثناء في برنامجين ، لكنني حصلت على النتائج المختلفة. أنا لا أعرف لماذا.
النتيجة الأولى هي البرنامج الذي غير قادر على القبض عليه
Scapshot1: www.freeimagehosting.net/uploads/e2b37433a3.png
والثاني هو البرنامج الذي نجح البرنامج في القبض عليه
Scapshot2: www.freeimagehosting.net/uploads/6ab7564999.png
لماذا حصلت على مثل هذا مختلف؟
المحلول
حسنًا ، لم تقدم حقًا الكثير من السياق. أشياء للتحقق:
- هل هم نفس النوع من التطبيق (WPF ، WinForms ، Silverlight ، وحدة التحكم ، إلخ)؟
- هل يستخدمون نفس الإصدار من .NET؟
- هل يعملون على نفس الإصدار من Windows؟
- هل لديهم نفس الرمز للرد على الاستثناءات غير المعروفة؟
نصائح أخرى
من ما يمكنني رؤيته ، في #1 أنت تعمل في تصحيح الأخطاء. في #2 أنت لست كذلك.
في الواقع ، سأفترض أن الاستثناء هو نفسه تمامًا ، لأن الرسالة هي نفسها. لا يوجد فرق ، أيو.
لست متأكدًا مما إذا كنت أفهم ، يبدو أنه نفس erro ولكن
- PIC1 - خطأ غير معقول
- PIC2 - خطأ معالج
يرجى تقديم المزيد من المعلومات
يمكن أن يختلف سلوك مصحح الأخطاء في مواجهة الاستثناءات.
لا يمكنك تغيير application.UnhandleDExceptionMode بعد application.run () تم استدعاؤه ، لذلك من الواضح أن هذا ليس هو الذي سيحصل على الاستثناء.
الذي يترك appdomain.unhandledexception. نعم ، سوف يكسر مصحح الأخطاء الاستثناء قبل رفع هذا الحدث. ميزة جميلة ، تتيح لك تصحيح سبب الاستثناء. ما عليك سوى الضغط على F5 لمواصلة التنفيذ لتشغيل معالج الحدث. لا يوجد دليل على استخدامك لتصحيح الأخطاء في لقطة الشاشة الثانية ، يبدو أنك بدأت مع Ctrl+F5.