استثناها در کلاسها (Custom Exceptions)
در پایتون میتوانیم استثناهای سفارشی (Custom Exceptions) تعریف کنیم تا خطاهای خاص برنامه را بهتر مدیریت کنیم. این استثناها معمولاً به صورت کلاسهایی تعریف میشوند که از کلاس پایه Exception
ارثبری میکنند.
نحوه تعریف Exception سفارشی
برای تعریف یک استثنای سفارشی، کافی است یک کلاس جدید ایجاد کنیم که از Exception
یا یکی از زیرکلاسهای آن ارث ببرد. معمولاً میتوانیم متد __init__
و __str__
را برای نمایش پیام خطا سفارشی کنیم.
class MyCustomError(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return f"MyCustomError: {self.message}"
نحوه استفاده از Exception سفارشی در کلاسها
میتوانیم در متدهای کلاسها استثناهای سفارشی را پرتاب (raise) کنیم و در جای دیگر برنامه آنها را با try-except
مدیریت کنیم.
class Person:
def __init__(self, age):
if age < 0:
raise MyCustomError("Age cannot be negative")
self.age = age
try:
p = Person(-5)
except MyCustomError as e:
print(e) # خروجی: MyCustomError: Age cannot be negative