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

Python لا يلتقط التسجيل الاستثناء ، ويحسن مهارات التصحيح

نشر في 2025-04-18
تصفح:477

How to Log Uncaught Exceptions in Python for Enhanced Debugging?

تسجيل استثناءات غير ملتقمة في Python: إطلاق العنان لإمكانات التسجيل إلى ما بعد stderr

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

بدلاً من الاعتماد على السلوك الافتراضي الذي يطبع الاستثناءات إلى STDERR ، من الممكن تكوين وحدة التسجيل لاعتراض استثناءات غير مجهولة وتسجيلها على المستوى المطلوب ، مثل الخطأ أو الحرج. هذا يتيح للمطورين مركزية معالجة الاستثناءات ، والقضاء على رسائل Stderr صاخبة ، وتوفير المزيد من السياق للتصحيح. متغير Sys.ExcepThook العالمي ، وهو مسؤول عن التعامل مع الاستثناءات غير المطلقة في مترجم Python.

يوفر هذا النهج العديد من المزايا:

التحليل. السياق ، وتصفية الاستثناءات كما هو مطلوب.
  1. مثال رمز:
  2. استيراد قطع الأشجار logger = logging.getLogger (__ name__) معالج = تسجيل الدخول. logger.addhandler (معالج) def handle_exception (exc_type ، exc_value ، exc_traceback): إذا كانت issubClass (exc_type ، لوحة المفاتيح): sys .__ excepthook __ (exc_type ، exc_value ، exc_traceback) يعود logger.error ("استثناء غير معطل" ، exc_info = (exc_type ، exc_value ، exc_traceback))) sys.excepthook = handle_exception # مثال الاستخدام إذا __name__ == "__main__": قم برفع وقت التشغيل ("Test Unhandled")
في هذا المثال ، يتم تسجيل وقت التشغيل غير المقتطف كرسالة خطأ إلى دفق STDOUT ، مما يتيح سهولة التصحيح والتحليل. يمكن تمديد هذا النهج بشكل أكبر من خلال إضافة معالجات مختلفة إلى كائن المسجل لإعادة توجيه تسجيل الاستثناء إلى وجهات مختلفة ، مثل الملفات أو قواعد البيانات. من خلال الاستفادة الفعالة من تسجيل الدخول لمعالجة الاستثناءات غير المطلوبة ، يمكن للمطورين تعزيز قدرات تصحيح الأخطاء وصيانة التطبيق بشكل كبير.

بيان الافراج يتم استنساخ هذه المقالة في: 1729608078 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3