الانتقال إلى المحتوى الرئيسي

كيفية إنشاء استثناء بايثون الخاص بك والتعامل مع الأخطاء بشكل صحيح

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

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

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

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

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

  1. ما هو استثناء بايثون?
  2. وصف الاستثناءات القياسية
  3. استثناء استثناء
  4. اكتباستثناء الخطأ
  5. قيمةاستثناء الخطأ
  6. نسبةاستثناء الخطأ
  7. استثناء خطأ الفهرس
  8. استثناء خطأ المفتاح
  9. استثناء فيلنوتفونديرور
  10. صفراستثناء الخطأ
  11. استثناء إمبورتيرور
  12. استثناء مقاطعة لوحة المفاتيح
  13. إنشاء الاستثناء الخاص بك في بايثون
  14. سؤال وجواب
  15. كيف يمكنني إنشاء استثناء بلدي في بيثون?
  16. كيفية التعامل مع الاستثناءات بشكل صحيح في بيثون?
  17. هل من الممكن تغيير نوع الاستثناء في كتلة باستثناء في بيثون?

ما هو استثناء بايثون?

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

يمكن أن يحدث استثناء لأسباب مختلفة ، على سبيل المثال:

  • متغير غير موجود
  • القسمة على صفر
  • بيانات الإدخال غير صحيحة
  • فتح ملف غير موجود

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

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

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

وصف الاستثناءات القياسية

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

استثناء

.

استثناء

يحدث عندما يتم تطبيق عملية أو وظيفة على كائن من نوع غير متوافق.

استثناء

يحدث عندما تتلقى عملية أو وظيفة وسيطة من النوع الصحيح ، ولكن بقيمة غير صحيحة.

استثناء

يحدث عند إجراء محاولة للوصول إلى سمة غير موجودة لكائن ما.

استثناء

يحدث خطأ الفهرس عندما يكون الفهرس أو الشريحة خارج النطاق المقبول.

استثناء

كيسيغوج يحدث عند محاولة الوصول إلى مفتاح قاموس غير موجود.

استثناء

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

استثناء

يحدث عند محاولة القسمة على صفر.

استثناء

يحدث عندما لا يمكن استيراد وحدة نمطية أو لا يمكن العثور عليها.

استثناء

يحدث عند مقاطعة إدخال لوحة المفاتيح (على سبيل المثال ، الضغط كنترول+ج).

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

إنشاء الاستثناء الخاص بك في بايثون

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

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

مثال على إنشاء الاستثناء الخاص بك:

فئة ميكسيبتيون (استثناء):

تمريرة

رفع ميكسيبتيون ("هذا هو الاستثناء الخاص بي")

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

التعامل مع الاستثناءات الخاصة بك هو نفس التعامل مع الاستثناءات القياسية. للقيام بذلك ، حاول-باستثناء:

محاولة يستخدم البناء:

# بعض التعليمات البرمجية التي يمكن أن تسبب استثناء

رفع ميكسيبتيون ("هذا هو الاستثناء الخاص بي")

باستثناء ميكسيبتيون كما ه:

# المناولة

استثناء الطباعة (و " تم اكتشاف الاستثناء الخاص بي: {هـ}")

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

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

سؤال وجواب

كيف يمكنني إنشاء استثناء بلدي في بيثون?

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

كيفية التعامل مع الاستثناءات بشكل صحيح في بيثون?

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

هل من الممكن تغيير نوع الاستثناء في كتلة باستثناء في بيثون?

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