যখন একটি পাইথন কোড এক্সসেপশন থ্রো করে, তবে আমরা সেটি ক্যাচ করে টাইপ, এরর মেসেজ, ট্রেসব্যাক প্রিন্ট করতে পারি এবং পাইথন স্ক্রিপ্টে যেখানে এক্সসেপশন~Occur করেছে সেটির ফাইল নাম এবং লাইন নম্বর পেতে পারি।
আমরা এররর type, value, traceback প্যারামিটারগুলো খুঁজে পেতে পারি।
Typeদিয়ে এক্সসেপশন টাইপ বোঝায় যা~Occur করেছে;valueএরর মেসেজ ধারণ করে;tracebackস্ট্যাক স্ন্যাপশট এবং এরর মেসেজ সম্পর্কে আরও বিস্তারিত ইনফো ধারণ করে।
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)