سؤال

أعلم أنه يمكنني رمي nsexception في الكود الخاص بي ، هل يرمي إطار عمل iPhone OS nsexception نفسه؟ إذا كان الأمر كذلك ، فهذا يعني أنني يجب أن ألقي القبض على nsexpections من Framework؟ أعلم أن Java يلقي استثناءات SDK الداخلية ، مثل الاستثناءات غير المحددة.

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

المحلول

الاستثناءات التي ألقاها الأطر في iOS والكاكاو تدل على أخطاء غير قابلة للاسترداد. لا يتم استخدام الاستثناءات (خارج استثناءات متطرفة للغاية) لنقل شيء مثل مشكلة التحقق من الصحة.

بشكل عام ، استخدام iOS و Cocoa NSError لنقل المشكلات القابلة للاسترداد (مثل أخطاء التحقق من صحة المستخدم ، أو أخطاء التحقق من صحة الحالة في البيانات الأساسية ، أو مشكلات الاتصال ، للأمثلة).

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

نصائح أخرى

تريد رمي nsexceptions في التعليمات البرمجية الخاصة بك ، وتريد أن تعرف ما إذا كان الإطار يرميها أيضًا. حسنًا ، يلقيهم في حالة حدوث خطأ. يمكنك التقاطهم عن طريق وضع كل جزء من الرمز الذي يبرز استثناء في محاولة ... catch ... أخيرًا كتلة مختلفة عن الكود "الخاص بك" الرمز :) ربما يمكن للآخرين تقديم مزيد من المعلومات وآمل أن أكون حصلت عليه بشكل صحيح ما تحاول القيام به.

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