مدیریت خطاها تو تابعها 🚨
یه وقتایی تابعهامون ممکنه خطا بدن، مثلاً اگه کاربر ورودی اشتباه بده (مثل تقسیم بر صفر). بیاید یاد بگیریم چطور تابعهامون رو امن کنیم!
✨ مثال:
def safe_divide(a, b):
if b == 0:
print("Cannot divide by zero!") # Handle division by zero
return None
return a / b # Return the division result
print(safe_divide(10, 2)) # Normal division
print(safe_divide(10, 0)) # Division by zero
🔹 خروجی:
5.0
Cannot divide by zero!
None
🔰 این کد چیکار میکنه؟
تابع safe_divide دو عدد a و b میگیره.
قبل از تقسیم، چک میکنه که b صفر نباشه.
اگه صفر باشه، پیغام خطا چاپ میکنه و None برمیگردونه.
اگه مشکلی نباشه، نتیجه تقسیم رو برمیگردونه.
✅ چرا مدیریت خطا مهمه؟
- باعث میشه برنامهت کرش نکنه و کاربر تجربه بهتری داشته باشه.
- میتونی به کاربر بگی چی اشتباه شده و چطور درستش کنه.
✨ یه مثال پیشرفتهتر:
def safe_divide_advanced(a, b):
try:
result = a / b
return result # Return division result
except ZeroDivisionError:
print("Error: Division by zero is not allowed!") # Handle error
return None
print(safe_divide_advanced(10, 2))
print(safe_divide_advanced(10, 0))
🔹 خروجی:
5.0
Error: Division by zero is not allowed!
None
✨ مثال روزمره: فرض کن داری یه اپلیکیشن مالی میسازی. یه تابع مینویسی که سود سرمایهگذاری رو حساب کنه، ولی باید چک کنی که ورودیها معتبر باشن (مثلاً عدد منفی نباشن).
❓ تمرین: یه تابع بنویسید که دو عدد بگیره و جمعشون رو برگردونه، ولی اگه هر کدوم از ورودیها منفی بود، پیغام خطا چاپ کنه و None برگردونه. تابع رو با چند ورودی تست کنید.
💯 @PythonForYou 🧑💻👩💻