لماذا نتيجتان مختلفتان أثناء التعامل مع نفس الاستثناء في C#؟

StackOverflow https://stackoverflow.com/questions/3491851

  •  28-09-2019
  •  | 
  •  

سؤال

لقد تعاملت مع نفس الاستثناء في برنامجين ، لكنني حصلت على النتائج المختلفة. أنا لا أعرف لماذا.

النتيجة الأولى هي البرنامج الذي غير قادر على القبض عليه

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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top