في لغة برمجة بايثون ، تلعب الاستثناءات دورا مهما في معالجة الأخطاء. عند حدوث خطأ ، يقوم بايثون بإنشاء كائن خاص يسمى استثناء ، والذي يحتوي على معلومات حول الخطأ الذي حدث. للتعامل مع استثناء بشكل صحيح ، يجب أن يكون لديك حق الوصول إلى تمثيل السلسلة.
.
للحصول على تمثيل السلسلة.
ومع ذلك ، نضع في اعتبارنا أن المطور يمكن تجاوز __شارع__() أو __ريبر__() الأساليب في فئات الاستثناء الخاصة بهم. في هذه الحالة ، استدعاء وظيفة ستر () قد يعود نتيجة غير متوقعة ، وبالتالي فمن المستحسن أن ندعو صراحة __ستر__ () أو __ريبر__ () الأساليب.
يعد تحويل استثناء إلى سلسلة في بايثون مفيدا عندما تريد عرض معلومات الخطأ في السجلات أو على وحدة التحكم أو في واجهة المستخدم. إن معرفة كيفية تحويل استثناء إلى سلسلة ستجعل من السهل تصحيح أخطاء برامجك وتحذير المستخدمين من الأخطاء التي تحدث.
- طريقة التتبع لتحويل استثناء إلى سلسلة
- تحويل استثناء إلى سلسلة باستخدام وحدة التتبع
- باستخدام طريقة ستر لتحويل استثناء إلى سلسلة
طريقة التتبع لتحويل استثناء إلى سلسلة
توفر بايثون وحدة تتبع قوية لمعالجة الاستثناءات. تحتوي وحدة التتبع على وظائف وفئات مختلفة لجمع وتنسيق وطباعة المعلومات حول الاستثناءات وتتبع المكدس.
واحدة من أكثر الطرق المفيدة لوحدة التتبع هي صيغة _إكسيبتيون. يسمح لك بتحويل استثناء إلى سلسلة منسقة.
تأخذ وظيفة فورمات _كسيبتيون ثلاث وسيطات: الاستثناء وقيمته وتتبع المكدس وإرجاع سلسلة منسقة مع معلومات حول الاستثناء.
فيما يلي مثال على استخدام طريقة فورمات_كسيبتيون:
"'بايثون
استيراد التتبع
حاول:
# الرمز الذي يولد
استثناء رفع قيمة الخطأ ("مثال استثناء")
باستثناء القيمة الخطأ مثل ه:
# تحويل استثناء إلى سلسلة
الاستثناء="".انضم (التتبع.صيغة الاستثناء (النوع (هـ) ، هـ،هـ. _ _ التتبع__))
طباعة (باستثناء)
«`
في هذا المثال ، نقوم بإنشاء استثناء خطأ قيمة مع الرسالة"استثناء مثال". ثم نقوم بمعالجته باستخدام كتلة محاولة باستثناء وتحويل الاستثناء إلى سلسلة باستخدام فورمات_كسيبتيون. ستتم طباعة النتيجة على الشاشة.
تقبل طريقة فورمات_كسيبتيون أيضا وسيطة الحد ، والتي تحدد الحد الأقصى لعدد الصفوف في تتبع المكدس الذي سيتم تضمينه في النتيجة. بشكل افتراضي ، هذه القيمة لا شيء ، مما يعني أنه سيتم تضمين جميع خطوط التتبع.
تحويل استثناء إلى سلسلة باستخدام طريقة فورمات_كسيبتيون يسمح لك بحفظ معلومات حول الاستثناء قبل معالجته أو تسجيله. يمكن أن يكون هذا مفيدا عند تصحيح الأخطاء وتسجيلها في التطبيق.
تحويل استثناء إلى سلسلة باستخدام وحدة التتبع
وحدة التتبع هي مكتبة قياسية في بايثون وتوفر وظائف لتتبع مكدس الاستدعاءات وتنسيق معلومات الاستثناء. على وجه الخصوص ، يمكن استخدام وحدة التتبع لتحويل استثناء إلى سلسلة.
عند حدوث استثناء ، يتم تخزين المعلومات المتعلقة به في كائن الاستثناء. يحتوي كائن الاستثناء على معلومات مثل نوع الاستثناء ورسالة الخطأ ومكدس الاستدعاءات. عادة ، يتم عرض معلومات حول الاستثناء باستخدام وظيفة الطباعة ، والتي قد لا تكون دائما مريحة أو ضرورية. توفر وحدة التتبع طريقة أكثر مرونة للعمل مع معلومات الاستثناء.
يتم تنفيذ تحويل استثناء إلى سلسلة باستخدام وحدة التتبع باستخدام التتبع.وظيفة التنسيق (). تتلقى هذه الوظيفة تلقائيا الاستثناء الحالي وتعيده كسلسلة. وبالتالي ، بعد حدوث استثناء ، يمكنك بسهولة الحصول على معلومات كاملة حول الخطأ بتنسيق سهل القراءة.
مثال على استخدام وحدة التتبع لتحويل استثناء إلى سلسلة:
استيراد التتبعحاول:
# بعض التعليمات البرمجية التي قد تثير استثناء
باستثناء استثناء مثل ه:
رسالة خطأ = تتبع.()
طباعة (خطأ _ رسالة)
كما ترى من المثال أعلاه ، بعد حدوث استثناء في الكتلة باستثناء ، التتبع.يتم استخدام وظيفة فورمات_كسك () للحصول على سلسلة تحتوي على معلومات حول الاستثناء. ثم يمكن استخدام السلسلة الناتجة وفقا لتقديرها ، على سبيل المثال ، للكتابة إلى ملف سجل أو إرساله إلى المطور لتحليله لاحقا.
يسمح لك تحويل استثناء إلى سلسلة باستخدام وحدة التتبع بالعمل بمرونة أكبر مع معلومات الخطأ. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، عند تصحيح الأخطاء أو كتابة برنامج يوفر معالجة استثناء ويتطلب تحليلا مفصلا للخطأ.
باستخدام طريقة ستر لتحويل استثناء إلى سلسلة
- في بيثون ، كل استثناء لديه طريقة ستر التي تسمح لك لتحويل استثناء إلى سلسلة. يمكن استخدام هذه الطريقة للحصول على معلومات خطأ مفصلة وتخزينها في متغير من نوع شارع.
- مثال على تحويل استثناء إلى سلسلة:
حاول: