تقنية

format_exc في بايثون: هل تعيد None عند غياب الاستثناء الحالي؟

نص NoneType None مع نهاية سطر واحدة دون استثناء حالي
محتوى النص في المثال. [1] [2]

نستدعي الدالة دون استثناء قيد المعالجة. [1] [2]

الخلاصة السريعة

لا؛ تعيد نصًا في هذا المثال. [1] [2]

  • نستدعي format_exc() دون استثناء حالي. [1] [2]
  • النص NoneType: None ينتهي بسطر جديد. [1] [2]
  • نستخدم repr لإظهار النهاية. [1] [2]
  • النوع str، والفحص v is None كاذب. [1] [2]
  • اختبرنا 3.12.14؛ لا نفحص سجل أخطاء. [1] [2]

المثال

import traceback as t
v=t.format_exc()
print(repr(v))
print(v is None)

[1] [2]

المخرجان 'NoneType: None\n' ثم False. [1] [2]

النص والقيمة

النص يحتوي كلمة None، لكنه ليس القيمة None. الدالة تنسق الاستثناء الحالي؛ في استدعائنا لا يوجد استثناء قيد المعالجة. [1] [2]

نوع القيمة str وفحص هويتها مع None كاذب
النص ليس قيمة الغياب. [1] [2]

حدود الفحص

لا نقرأ تاريخ البرنامج من هذه النتيجة. لم نفحص مجموعات استثناء أو تتبعًا لإطارات خطأ فعلي في المثال. [1] [2]

المراجع

  1. Python: traceback
  2. CPython 3.12.14: traceback.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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