আমরা সবচেয়ে নির্দিষ্ট ব্যতিক্রম কনস্ট্রাক্টর ব্যবহার করি যা সাধারণ ব্যতিক্রমগুলি উত্থাপন করার পরিবর্তে আমাদের নির্দিষ্ট সমস্যাটির সাথে খাপ খায়। আমাদের সুনির্দিষ্ট ব্যতিক্রম ধরতে, আমাদেরকে এটির উপশ্রেণীর অন্যান্য সব নির্দিষ্ট ব্যতিক্রম ধরতে হবে।
আমাদের নির্দিষ্ট ব্যতিক্রমগুলি উত্থাপন করা উচিত এবং একই নির্দিষ্ট ব্যতিক্রমগুলি পরিচালনা করা উচিত৷
নির্দিষ্ট ব্যতিক্রমগুলি বাড়াতে আমরা নিম্নরূপ raise স্টেটমেন্ট ব্যবহার করি৷
৷উদাহরণ
import sys
try:
f = float('Tutorialspoint')
print f
raise ValueError
except Exception as err:
print sys.exc_info() আউটপুট
আমরা নিম্নলিখিত আউটপুট পাই
(<type 'exceptions.ValueError'>, ValueError('could not convert string to float: Tutorialspoint',), <traceback object at 0x0000000002E33748>) নিম্নলিখিত উদাহরণের মত আর্গুমেন্ট দিয়েও আমরা একটি ত্রুটি তুলে ধরতে পারি
উদাহরণ
try:
raise ValueError('foo', 23)
except ValueError, e:
print e.args আউটপুট
আমরা নিম্নলিখিত আউটপুট পাই
('foo', 23)