حاول بايثون باستثناء الوظيفة الموضحة بمثال
نشرت: 2021-11-22تلعب البرمجة دورًا أساسيًا في إجراء العديد من المهام في العصر الحديث. سواء في مجالات البحث أو الأعمال ، يمكن رؤية تطبيق البرمجة في كل مكان. Python هي إحدى لغات البرمجة التي تم تطبيقها على نطاق واسع في الحياة اليومية لجميع الأشخاص تقريبًا. بالطبع هذا يعتمد على البرامج التي يتم تطويرها وتنفيذها. سواء كان ذلك في التعلم الآلي أو تطوير الويب أو تطوير البرامج أو أي برامج تعليمية ، فإن المبرمجين هم في الغالب من Python.
ومع ذلك ، بالنسبة لأي برنامج تم تصميمه ، هناك احتمالية أن تكون الأخطاء مرتبطة به في بعض الأحيان. يمكن أن تكون هذه الأخطاء محددة من قبل المستخدم أو بعض الإعدادات الافتراضية داخل البرنامج نفسه. يمكن أيضًا أن ينتهي البرنامج المكتوب بلغة برمجة Python عندما يكتشف أي شكل من أشكال الخطأ في الكود. ستصف المقالة الاستثناءات التي تحدث في برمجة Python وكيف يتم التعامل معها من خلال استخدام وظيفة try and except. في برمجة Python ، يحدث نوعان من الأخطاء بشكل أساسي ، وهما أخطاء في بناء الجملة واستثناءات.
جدول المحتويات
الاستثناءات والأخطاء النحوية
أحد أكثر أشكال أخطاء بيثون شيوعًا هو أخطاء بناء الجملة. تُعرف هذه أيضًا باسم أخطاء التحليل. يتم استخدام سهم صغير للإشارة إلى الخطأ بواسطة المحلل اللغوي.
الشكل الآخر للخطأ هو الاستثناءات في بيثون. هناك حالات يظل فيها بناء جملة البرنامج كما هو ، ولكن تظهر أخطاء معينة كلما تم تنفيذ البرنامج. يشار إلى هذه الأخطاء التي يتم اكتشافها عند التنفيذ على أنها استثناءات.
يتم سرد بعض الأمثلة على أخطاء الاستثناء أدناه:
1. مقاطعة لوحة المفاتيح:
يحدث هذا النوع من الأخطاء عندما تتم مقاطعة إدخال المستخدم من خلال بعض الضغط غير المرغوب فيه على المفاتيح في لوحة المفاتيح. المفتاح غير مطلوب في الغالب ويتم الضغط عليه عن طريق الخطأ من قبل المستخدم.
2. IOError
في بعض الأحيان ، هناك حالات لا يمكنك فيها فتح ملف ، وتقترن هذه الاستثناءات بمثل هذه الحالات.
3. خطأ في الاستيراد
عندما يتعذر على برنامج python تحديد موقع الوحدة ، تحدث هذه الأنواع من الاستثناءات.
4. EOFError:
بدون قراءة أي بيانات ، إذا تم النقر على نهاية الملف ، تحدث هذه الأنواع من الاستثناءات.
5. خطأ القيمة
الاستثناءات مرتبطة بالوظائف المضمنة. عندما تتلقى هذه الوظائف أي حجة خاطئة ، تحدث هذه الاستثناءات.
يكمن حدوث الأخطاء النحوية في اكتشاف العبارات غير الصحيحة في برنامج Python. فيما يلي مثال لإظهار إنشاء أخطاء في بناء الجملة:
>>> طباعة (0/0))
ملف "<stdin>" ، السطر الأول
طباعة (0/0))
^
خطأ قواعدي: بناء جملة غير صالح
يمكن ملاحظة وجود سهم في البرنامج أعلاه ، ويشير إلى المكان الذي اكتشف فيه المحلل الخطأ. أيضًا ، هناك قوسان في الكود ، مما ينتج عنه بناء جملة خاطئ. لذلك ، كان هناك خطأ في بناء الجملة. يمكنك إزالة القوس وتنفيذ الكود مرة أخرى.
سيؤدي تشغيل البرنامج بعد إزالة القوس الآن إلى إظهار استثناء لـ "ZeroDivisionError". هذا لأن بناء جملة الكود صحيح ، ولكن لا يزال هناك خطأ. يُشار إلى هذا النوع من الخطأ الناتج عن كود بناء الجملة الصحيح بالاستثناءات.
سينتج عن البرنامج سطر "ZeroDivisionError: قسمة عدد صحيح أو مقياس على صفر." هذا هو السطر الأخير من البرنامج ، ويظهر الاستثناءات التي يولدها البرنامج. يمكنك أن تلاحظ أن بيثون لا يذكر أخطاء الاستثناءات فقط ؛ بدلاً من ذلك ، فإنه يشرح ويعرض نوع الاستثناء.
التعامل مع الاستثناءات من خلال محاولة باستثناء بند
يشار إلى مفهوم معالجة الاستثناءات في Python بمعالجة الاستثناءات. يمكن كتابة البرامج التي يمكنها التعامل مع نوع معين من الاستثناءات. يظهر مثال على معالجة الاستثناء في الصورة أدناه:
الكود أعلاه مأخوذ من https://docs.python.org/3/tutorial/errors.html .
في البرنامج أعلاه ، يُطلب من المستخدم إدخال عدد صحيح كمدخل. ولكن ، بدلاً من وجود عدد صحيح ، كان هناك مقاطعة من جانب المستخدم. عند مواجهة مثل هذا النوع من مقاطعة المستخدم ، هناك نوع من الاستثناءات يتم طرحه بواسطة برنامج Python ، وهو استثناء من "KeyboardInterrupt".
يحاول الثعبان ماعدا استخدام الكتل للقبض على الاستثناءات التي تحدث في برنامج بيثون والتعامل معها. يتم تنفيذ الكود الموجود أسفل عبارة try كبرنامج عادي. في الوقت نفسه ، يعد البرنامج الموجود في بيان الاستثناء هو الاستجابة الرئيسية للبرنامج ضد أي شكل من الاستثناءات.
من المثال الذي تمت مناقشته أعلاه في قسم "أخطاء الاستثناء والنحو" ، يمكن ملاحظة حدوث خطأ عند استخدام بناء جملة خاطئ في الشفرة. ومع ذلك ، إذا لم يكن هناك معالجة للاستثناء المناسب ، فسيتم إنهاء البرنامج. من واجب شرط الاستثناء تحديد كيفية استجابة البرنامج في حالة الاستثناءات.
تُستخدم عبارات try and except لمعالجة الأخطاء في بيثون. عندما يحدث خطأ في كود بيثون ، يتم استخدام هذه العبارات للتعامل معها. هناك كتلة منفصلة من التعليمات البرمجية لوظائف try و except. يساعد الكود الموجود في كتلة try في فحص البرنامج بحثًا عن أي أخطاء. لذلك ، في حالة عدم وجود خطأ في البرنامج ، سيتم تنفيذ الكود الموجود في كتلة try. سيتم تنفيذ الكود الموجود داخل كتلة الاستثناء عند اكتشاف بعض الأخطاء في كتلة الكود السابقة. هناك بناء جملة محدد لتشغيل التجربة ومجموعة ما عدا العبارات في لغة برمجة Python.
بناء الجملة لوظيفة المحاولة باستثناء في بايثون:
يحاول:
# بعض التعليمات البرمجية
باستثناء :
# يتم تنفيذه إذا حدث خطأ في ملف
# حاول بلوك
العمل من بيان المحاولة
دعونا نفهم أولاً عمل كتلة المحاولة. فيما يلي بعض الخطوات التي ستحدد عمل كتلة التعليمات البرمجية داخل كتلة try.
- يتم تنفيذ عبارة "try" أولاً. هذا يعني أن الكود الموجود بين جملة try و except يتم تنفيذه أولاً.
- يتم فحص الاستثناءات. لذلك ، إذا لم يتم اكتشاف أخطاء أو استثناءات ، فسيتم تنفيذ بند try فقط. في الوقت نفسه ، سيتوقف تشغيل شرط الاستثناء.
- في الحالات التي يوجد فيها استثناء ، سيتخطى البرنامج عبارة try. في مثل هذه الحالات ، سيكون هناك تشغيل لبند الاستثناء.
- قد تكون هناك حالات عندما يكون هناك استثناء ، لكن بند الاستثناء غير قادر على معالجة هذا الاستثناء. في مثل هذه الحالات ، يتم إعادة توجيه الاستثناء إلى عبارات try خارج الكتلة. إذا لم يتم التعامل مع الاستثناء حتى ذلك الحين ، يتوقف البرنامج عن التنفيذ.
- يمكن أن يحتوي بيان المحاولة على الكثير من البنود باستثناء (أكثر من جملة).
لنفترض أن برنامج python يواجه استثناءات مختلفة ، ثم لتحديد المعالجات المختلفة ، يتم استخدام العديد من الكتل باستثناء الكتل في برنامج Python. في المرة الواحدة ، سيتم تنفيذ معالج واحد فقط. حتى في برنامج بيثون ، يمكن استخدام استثناءات متعددة كأقواس في جملة استثناء.
في بعض الأحيان قد يكون هناك فصل داخل بيان الاستثناء.
هناك استخدام لكلمة مفتاحية في لغة بيثون ، وهي كلمة "أخيرًا". يتم استخدام الكلمة الأساسية أو يتم تنفيذها بعد تنفيذ كتل try and except. وبالتالي ، عندما يكون هناك إنهاء لشرط المحاولة بسبب بعض الاستثناءات أو بعض الإنهاء العادي ، يتم تنفيذ كتلة try في مثل هذه الحالات.
رفع الاستثناءات
بعد اكتشاف الاستثناءات ، يتم فرض الاستثناءات من خلال رفع الاستثناءات. يتم ذلك باستخدام عبارة "زيادة". أحد الأهداف المهمة لبيان الرفع هو ضرورة إثارة الاستثناء.
بعض النقاط المهمة لتلخيص الفكرة بأكملها هي:
- يستمر تنفيذ شرط المحاولة حتى وما لم يواجه الاستثناء الأول.
- إنه داخل كتلة "عدا" أن البرنامج يقرر كيفية الرد على الاستثناء.
- يمكن توقع استثناءات متعددة ، ثم يميز البرنامج كيفية الرد عليها.
- يمكن طرح استثناء في أي وقت من خلال استخدام بيان "الزيادة".
- تُمكِّن العبارة "تأكيد" البرنامج من معرفة ما إذا تم استيفاء الشرط المعين وإذا لم يتم استيفاء الشرط ، ثم طرح الاستثناء المطلوب.
- تسمح جملة else للبرنامج بتشغيل الكود في حالة عدم وجود استثناءات في عبارة "try".
- تقوم العبارة "أخيرًا" بتنفيذ أقسام التعليمات البرمجية التي من المفترض أن يتم تشغيلها دائمًا دون مواجهة أي استثناءات سابقة.
خاتمة
ناقش المقال بإيجاز الأخطاء التي يمكن أن تحدث في برنامج بيثون ، وفي حالة بعض الأخطاء الاستثنائية ، يطرح البرنامج استثناءً. يجب التعامل مع هذه الاستثناءات بشكل صحيح من أجل التنفيذ السلس للبرنامج. تسمح المحاولة والاستثناءات في بايثون بمعالجة الاستثناءات في البرنامج. يتم تنفيذ الكود الموجود تحت عبارة "try". إذا لم يتم تنفيذ الكود بنجاح ، فسينتهي البرنامج عند سطر الكود الذي تسبب في حدوث الخطأ ، ثم سيتم تشغيل رمز "باستثناء".
احصل على شهادات في هندسة البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
يسمح حظر المحاولة باختبار كتلة من التعليمات البرمجية لوجود أي أخطاء. تسمح كتلة الاستثناء للبرنامج بمعالجة الاستثناء إذا كان هناك أي استثناء.