رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم متوسط ۸ دقیقه

استثناها و جریان انتشار

سلسله‌مراتب استثنا، try/except/else/finally، استثنای دامنه‌ای و قانون مرز ترجمه.

class CardExpiredError(ValueError):
    """کارت منقضی شده — خطای دامنه‌ای قابل‌فهم برای لایهٔ بالا."""

def charge(card, amount):
    if card.expired:
        raise CardExpiredError("کارت منقضی است؛ لطفاً کارت تازه وارد کنید.")
    return gateway.charge(card, amount)  # خطای فنیِ درگاه همین‌جا ترجمه می‌شود

قوانین جریان: except از خاص به عام؛ else فقط مسیر موفقیت؛ finally همیشه (حتی با return وسط try)؛ استثنای گرفته‌نشده حباب‌وار بالا می‌رود تا مفسر با Traceback متوقفش کند. هرگز except Exception: pass ننویس — یا چیزی را مدیریت کن یا بگذار بالا برود.

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای استثناها و جریان انتشار