আমরা raise কীওয়ার্ড ব্যবহার করে ফোর্সডলি এক্সসেপশন রেইজ করতে পারি। "raise" মেথড কল করার সিনট্যাক্স নিচে:
raise [Exception [, args [, traceback]]]
যেখানে, Exception হলো এক্সসেপশনের নাম; অপশনাল "args" এক্সসেপশন আর্গুমেন্টের ভ্যালু রিপ্রেজেন্ট করে। অপশনাল আর্গুমেন্ট traceback হলো এক্সসেপশনের জন্য ব্যবহৃত ট্রেসব্যাক অবজেক্ট।
# raise_error.py
try:
i = int(input("Enter a positive integer value: "))
if i <= 0:
raise ValueError("This is not a positive number!!")
except ValueError as e:
print(e)
যদি আমরা উপরের স্ক্রিপ্ট টার্মিনালে এক্সিকিউট করি:
$ python raise_error.py Enter a positive integer: -6
নেগেটিভ নম্বর দিলে নিচের আউটপুট দেখাবে:
This is not a positive number!!
বিকল্প উদাহরণ কোড
# এখানে রেইজ করা এক্সসেপশনের সাথে কোনো ভেরিয়েবল বা আর্গুমেন্ট নেই
import sys
try:
i = int(input("Enter a positive integer value: "))
if i <= 0:
raise ValueError # ("This is not a positive number!!")
except ValueError as e:
print(sys.exc_info())
আউটপুট:
Enter a positive integer value: -9 (, ValueError(), )