استثناها در کلاسها (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