यदि पायथन कोड एक्सेप्शन फेंकता है, तो हम इसे पकड़ सकते हैं और टाइप, एरर मैसेज, ट्रेसबैक प्रिंट कर सकते हैं और पायथन स्क्रिप्ट में फ़ाइल नाम और लाइन नंबर जैसी जानकारी प्राप्त कर सकते हैं जहां एक्सेप्शन हुआ।
हम एरर के टाइप, वैल्यू, ट्रेसबैक पैरामीटर्स ढूंढ सकते हैं।
टाइप उस एक्सेप्शन का प्रकार देता है जो हुआ है; वैल्यू में एरर मैसेज होता है; ट्रेसबैक में स्टैक स्नैपशॉट और एरर मैसेज के बारे में कई अन्य जानकारी विवरण होते हैं।
sys.exc_info() फ़ंक्शन इन तीन एट्रिब्यूट्स का एक टुपल लौटाता है, और raise स्टेटमेंट में तीन-आर्गुमेंट फॉर्म होता है जो इन तीन भागों को स्वीकार करता है।
नमूना कोड में एक्सेप्शन टाइप, फ़ाइल नंबर और लाइन नंबर प्राप्त करना:
import sys, os
try:
raise NotImplementedError("No error")
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
print(exc_type, fname, exc_tb.tb_lineno)