যদি একটি পাইথন কোড একটি ব্যতিক্রম থ্রো করে, আমরা এটি ধরতে পারি এবং টাইপ, ত্রুটি বার্তা, ট্রেসব্যাক প্রিন্ট করতে পারি এবং পাইথন স্ক্রিপ্টে ফাইলের নাম এবং লাইন নম্বরের মতো তথ্য পেতে পারি যেখানে ব্যতিক্রম ঘটেছে৷
আমরা ত্রুটির ধরন, মান, ট্রেসব্যাক প্যারামিটার খুঁজে পেতে পারি
টাইপ ব্যতিক্রমের ধরণ দেয় যা ঘটেছে; মান ত্রুটি বার্তা রয়েছে; ট্রেসব্যাকে স্ট্যাক স্ন্যাপশট এবং ত্রুটি বার্তা সম্পর্কে অন্যান্য অনেক তথ্য বিবরণ রয়েছে৷
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