پاسخ تمرین مدیریت خطا با try-except

Please login to bookmark Close

پاسخ تمرین مدیریت خطا با try-except

در واقع، در این صفحه پاسخ تمرین مدیریت خطا با try-except را همراه با کد کامل و توضیح می‌بینید.

نام دورهدوره آموزش پایتون مقدماتی
درسنامهمدیریت خطا با try-except-finally
تمرین‌هامشاهده

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

پاسخ تمرین ۱ – ورودی عددی

try:
    age = int(input("سن شما: "))
    print("سال بعد:", age + 1)
except ValueError:
    print("لطفاً فقط عدد وارد کنید")

همچنین، نام خطا را حتماً بنویسید. اگر فقط except بنویسید، هر خطای دیگری را هم می‌گیرید و بعداً نمی‌فهمید مشکل کجا بوده.

پاسخ تمرین ۲ – تقسیم

try:
    a = int(input("عدد اول: "))
    b = int(input("عدد دوم: "))
    print(a / b)
except ValueError:
    print("فقط عدد وارد کنید")
except ZeroDivisionError:
    print("تقسیم بر صفر ممکن نیست")

به این ترتیب، هر نوع خطا پیام مخصوص خودش را دارد. این برای کاربر خیلی بهتر از یک پیام عمومی «خطایی رخ داد» است.

پاسخ تمرین ۳ – خواندن فایل

try:
    with open("notes.txt", "r", encoding="utf-8") as file:
        print(file.read())
except FileNotFoundError:
    print("فایل پیدا نشد")

این الگو در هر برنامه‌ای که با فایل کار می‌کند لازم است. فرض کنید فایل ممکن است نباشد، چون بالاخره روزی نیست.

پاسخ تمرین ۴ – finally

try:
    print(10 / 0)
except ZeroDivisionError:
    print("خطای تقسیم")
finally:
    print("پایان عملیات")
خطای تقسیم
پایان عملیات

کاربرد واقعی finally بستن چیزهایی است که باز کرده‌اید: فایل، اتصال دیتابیس، اتصال شبکه.

پاسخ تمرین ۵ – کدام بد است؟

نسخه‌ی الف بد است، به دو دلیل. اول اینکه except بدون نام، هر خطایی را می‌بلعد؛ حتی KeyboardInterrupt وقتی کاربر می‌خواهد برنامه را متوقف کند.

دوم اینکه pass هیچ نشانی باقی نمی‌گذارد. بعداً که برنامه اشتباه کار کند، هیچ سرنخی ندارید.

ضمناً بلوک try در نسخه‌ی الف سه خط دارد. هرچه داخل try کمتر باشد، وقتی خطا گرفتید دقیق‌تر می‌دانید کجاست.

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

جمع‌بندی پاسخ تمرین مدیریت خطا با try-except

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

Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم