আপনি raise স্টেটমেন্ট ব্যবহার করে বিভিন্ন উপায়ে ব্যতিক্রম বাড়াতে পারেন। raise স্টেটমেন্টের সাধারণ সিনট্যাক্স নিম্নরূপ।
সিনট্যাক্স
raise [Exception [, args [, traceback]]]
এখানে, Exception হল ব্যতিক্রমের ধরন (উদাহরণস্বরূপ, NameError) এবং আর্গুমেন্ট হল ব্যতিক্রম আর্গুমেন্টের একটি মান। যুক্তি ঐচ্ছিক; যদি সরবরাহ না করা হয় তবে ব্যতিক্রম যুক্তিটি নেই।
চূড়ান্ত যুক্তি, ট্রেসব্যাক, এছাড়াও ঐচ্ছিক (এবং অনুশীলনে খুব কমই ব্যবহৃত হয়), এবং যদি উপস্থিত থাকে, তবে ব্যতিক্রমের জন্য ব্যবহৃত ট্রেসব্যাক বস্তু।
উদাহরণ
একটি ব্যতিক্রম একটি স্ট্রিং, একটি শ্রেণী বা একটি বস্তু হতে পারে। পাইথন কোর উত্থাপন করা বেশিরভাগ ব্যতিক্রম হল ক্লাস, একটি আর্গুমেন্ট সহ যা ক্লাসের একটি উদাহরণ। নতুন ব্যতিক্রম সংজ্ঞায়িত করা বেশ সহজ এবং নিম্নরূপ করা যেতে পারে -
def functionName( level ): if level < 1: raise "Invalid level!", level # The code below to this would not be executed # if we raise the exception
দ্রষ্টব্য − একটি ব্যতিক্রম ধরার জন্য, একটি "ব্যতীত" ধারা অবশ্যই ক্লাস অবজেক্ট বা সাধারণ স্ট্রিং নিক্ষেপ করা একই ব্যতিক্রম উল্লেখ করতে হবে। উদাহরণস্বরূপ, উপরের ব্যতিক্রম ক্যাপচার করার জন্য, আমাদের অবশ্যই −
এর মত ছাড়া ধারাটি লিখতে হবেtry: Business Logic here... except "Invalid level!": Exception handling here... else: Rest of the code here...