ما هي الطريقة المقترحة لإظهار رسائل استثناء على واجهة المستخدم التي تم إنتاجها في طبقة العمل؟

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

سؤال

هل هناك نمط أو "أفضل ممارسة" على إنشاء رسائل ودية للمستخدم في طبقة العرض التقديمي باستخدام استثناءات تم إلقاؤها من طبقة العمل؟

في الواقع في كثير من الحالات ، أفضل رمي استثناءات التطبيق وهذا يجبرني على التقاطها على واجهة المستخدم (صفحات ASPX.CS). وإذا كانت العملية معقدة والتي قد تنتج العديد من أنواع الاستثناءات المختلفة ، يجب أن يكون لدي العديد من كتل الصيد لإنتاج رسائل خطأ محددة.

هل هناك طريقة أفضل في ذهنك؟ نمط ربما لحالات مماثلة؟

شكرًا

هل كانت مفيدة؟

المحلول

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

وبهذه الطريقة ستحتاج فقط إلى معالج استثناء واحد في واجهة المستخدم ، بدلاً من الكثيرين لكل نوع من الأخطاء ...

نصائح أخرى

أولاً: أعتقد أنه من الأفضل مجرد الحصول على استثناءات في التعليمات البرمجية التي يمكنني التعامل معها في هذا الوقت. إذا لم أتمكن من التعامل مع دعه الترويج إلى مستوى أعلى.

ثانياً: هناك إمكانية لالتقاط استثناءات على مستوى العالم:

public static void RegisterExceptionHandler()
{
    Application.ThreadException += new System.Threading.ThreadExceptionEventHandler    (Application_UIThreadException);
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
}

في هذا الاستثناء معالجة أساليب جميع الاستثناءات التي لم يتم التعامل معها. هنا يمكنك إخطار المستخدم بأن شيئًا ما "غير متوقع" قد حدث.

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