পাইথন আপনাকে স্ট্যান্ডার্ড বিল্ট-ইন এক্সসেপশন থেকে ডেরাইভ করে নিজস্ব এক্সসেপশন তৈরি করার অনুমতি দেয়।
এখানে RuntimeError-এর সাথে সম্পর্কিত একটি উদাহরণ। এখানে একটি ক্লাস তৈরি করা হয়েছে যা RuntimeError-র সাবক্লাস। এটি তখন উপকারী যখন এক্সসেপশন ক্যাচ করার সময় আরও স্পেসিফিক তথ্য দেখাতে চান।
try ব্লকে ইউজার-ডিফাইনড এক্সসেপশন raised করা হয় এবং except ব্লকে caught করা হয়। ভেরিয়েবল e ক্লাস Networkerror-এর একটি ইনস্ট্যান্স তৈরি করতে ব্যবহৃত হয়।
class Networkerror(RuntimeError):
def __init__(self, arg):
self.args = arg
উপরোক্ত ক্লাস ডিফাইন করার পর আপনি এক্সসেপশন raise করতে পারেন:
try:
raise Networkerror("Bad hostname")
except Networkerror, e:
print e.args