پرسش

چطوری می‌تونم پیام خطای یک اکسپشن رو توی پایتون بگیرم؟

How do I capture the exception message in Python?

دارم یه برنامه پایتون می‌نویسم و می‌خوام وقتی که یه خطایی رخ می‌ده، پیام اون خطا رو بگیرم و نمایش بدم. می‌دونم که باید از try-except استفاده کنم، ولی دقیقا نمی‌دونم چطوری می‌تونم پیام خطا رو از اکسپشن استخراج کنم. چطور می‌تونم این کار رو به درستی انجام بدم؟

1403/06/06
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

برای گرفتن پیام خطا از یک اکسپشن توی پایتون، می‌تونی از دستور زیر استفاده کنی. این روش ساده و کارآمده:

try:
    # Your code that might throw an exception
    result = 10 / 0
except Exception as e:
    # Print the error message
    print(f"An error occurred: {e}")

در این کد، وقتی که خطایی رخ بده (مثل تقسیم عدد بر صفر)، پیام خطا داخل متغیر e ذخیره می‌شه. با استفاده از print(f"An error occurred: {e}") می‌تونی پیام خطا رو به صورت محاوره‌ای و دوستانه نمایش بدی. این روش استاندارد و مناسبیه که در اکثر سناریوهای پایتون استفاده می‌شه.

توی این مثال، اگر خطایی رخ بده، پیام اون خطا (مثل "division by zero") توی خروجی نمایش داده می‌شه.

نکته: اگر نیاز به دسترسی به جزئیات بیشتری از اکسپشن داری، می‌تونی از traceback هم استفاده کنی که اطلاعات کاملی از جمله محل دقیق وقوع خطا رو بهت می‌ده:

import traceback
try:
    result = 10 / 0
except Exception as e:
    print(f"An error occurred: {e}")
    # Print the full traceback
    traceback.print_exc()

این روش کمک می‌کنه که هم پیام خطا رو ببینی و هم بتونی اطلاعات کامل‌تری از خطا بگیری که در دیباگ کردن خیلی کمک می‌کنه.

این روش‌ها همگی صحیح و تست‌شده هستن و کاملاً مطمئن می‌تونی ازشون استفاده کنی.

پاسخ: 1403/06/06
آخرین آپدیت: 1403/08/14