در پایتون، Try … Except برای مدیریت خطاها (Exceptions) استفاده میشود.
این ساختار کمک میکند که برنامه هنگام مواجهه با خطا به جای توقف کامل، کنترل شده ادامه پیدا کند.
🔹 ساختار پایه
try:
# کدی که ممکن است خطا ایجاد کند
x = 10 / 0
except:
# کدی که هنگام خطا اجرا میشود
print("یک خطای ریاضی رخ داد!")
📌 خروجی:
یک خطای ریاضی رخ داد!
اگر خطا رخ دهد، بخش
except
اجرا میشود؛ اگر خطا رخ ندهد، این بخش نادیده گرفته میشود.
🔹 دسترسی به پیام خطا
try:
x = 10 / 0
except ZeroDivisionError as e:
print("خطا:", e)
📌 خروجی:
خطا: division by zero
🔹 چند نوع خطا
try:
num = int("abc") # ValueError
x = 10 / 0 # ZeroDivisionError
except ValueError:
print("خطای مقدار غیرمعتبر")
except ZeroDivisionError:
print("تقسیم بر صفر مجاز نیست")
میتوان برای هر نوع خطا
except
جداگانه تعریف کرد.
🔹 except کلی
try:
x = 10 / 0
except Exception as e: # تمامی خطاها را میگیرد
print("خطا:", e)
🔹 finally
بخش finally
همیشه اجرا میشود، چه خطایی رخ دهد و چه نه:
try:
x = 10 / 2
finally:
print("این بخش همیشه اجرا میشود")
🔹 else
کد داخل else
زمانی اجرا میشود که خطایی رخ ندهد:
try:
x = 10 / 2
except ZeroDivisionError:
print("تقسیم بر صفر")
else:
print("عملیات با موفقیت انجام شد")
📌 خروجی:
عملیات با موفقیت انجام شد
🔹 تمرینهای پیشنهادی
-
برنامهای بنویس که دو عدد دریافت کند و تقسیم کند؛ خطای تقسیم بر صفر را مدیریت کند.
-
برنامهای بنویس که رشتهای از کاربر بگیرد و به عدد تبدیل کند؛ خطای تبدیل را کنترل کند.
-
از
finally
استفاده کن تا پیغام پایان برنامه همیشه چاپ شود، حتی اگر خطا رخ دهد.
✅ خلاصه
-
try = کدی که ممکن است خطا ایجاد کند.
-
except = کدی که هنگام خطا اجرا میشود.
-
else = کدی که اگر خطا رخ ندهد اجرا میشود.
-
finally = کدی که همیشه اجرا میشود.
-
استفاده از Try … Except باعث پایداری و کنترل خطاهای برنامه میشود.