Try-Except-در-پایتون

try except در پایتون | خطایابی در پایتون4 دقیقه مطالعه

هدیه فنولوژی به شما!

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

بلوک Try Except در پایتون

در این قسمت به طور مختصر در مورد کارایی سینتکس‌های مورد استفاده توضیح داده‌ایم:

  • بلوک try به شما اجازه می‌دهد که قطعه‌ای از کد را برای خطایابی اجرا کنید.
  • بلوک except امکان رسیدگی به این خطا را برای شما فراهم می‌آورد. (اگر دستورات try خطا داشتند، دستورات except اجرا می‌شود.)
  • بلوک finally به شما این امکان را می‌دهد که کد را مستقل از نتیجه بلوک‌های try-except اجرا نمایید.

بررسی و رسیدگی به خطا/استثناء (Exception Handling)

در موارد عادی، هنگامی که خطا در اجرای کد رخ می‌دهد، پایتون اجرای باقی برنامه را متوقف کرده و پیام خطایی را چاپ می‌کند. حال اگر بخواهیم خطای معمول پایتون نمایش داده نشود، به برنامه می‌گوییم فلان دستور را اجرا کن (try) و اگر خطا داد، استثنا (exception) قائل شو و به جای خطای معمول پایتون، دستورات موجود در بخش except را اجرا کن. 

مثال: در این مثال متغیر x را تعریف نکرده‌ایم. از برنامه می‌خواهیم در صورت بروز خطا عبارت داخل پرینت را چاپ کند.

خروجی:

از آنجایی که بلوک آزمون (try) هشدار وجود خطایی را اعلام می‌نماید، بلوک موارد استثنائی (except) اجرا خواهد شد. به عبارتی، مفسر پایتون ابتدا تلاش می‌کند تا کد داخل بلوک آزمون را اجرا کند و در صورتی که حین اجرای آن با خطایی مواجه شود، به کد داخل بلوک استثنائات مراجعه می‌نماید.

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

خطایابی در پایتون با استفاده از چند except

شما می‌توانید به هر تعداد که مایلید بلوک‌های except برای خطاهای متفاوت تعریف کنید. برای مثال، می‌توانید در صورت روی دادن نوع خاصی از خطا، کد به‌خصوصی را اجرا نمایید.

مثال: در صورت وجود خطای NameError یک پیام را چاپ کن و برای باقی خطاها، پیامی دیگر.

خروجی:

بلوک Else و خطایابی در پایتون

در دستورات شرطی در پایتون از کلیدواژه‌ی else استفاده می‌شود. شما می‌توانید با استفاده از کلیدواژه‌ی else، تعریف کنید که در صورت عدم وجود خطا در بلوک try، مجموعه دستوراتی اجرا شود.

مثال: در این مثال، عبارت داخل try هشداری برای وجود خطا نمی‌دهد.

خروجی:

بلوک Finally

بلوک finally، در صورت تعریف شدن، مستقل از این‌که بلوک try هشدار وجود خطایی بدهد یا خیر، اجرا خواهد شد.

مثال: چه دستور داخل try خطا بدهد چه ندهد، عبارت داخل پرینت finally را چاپ کن.

خروجی:

این قابلیت می‌تواند برای بستن فایل‌ها و مدیریت منابع مفید واقع شود.

مثال: فایلی را باز کنید که قابلیت نوشتن ندارد، و سعی کنید درون آن چیزی بنویسید.

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

ساخت دستی خطا در پایتون

به عنوان یک برنامه‌نویس پایتون این امکان را دارید که به انتخاب خودتان در صورت برقرار بودن شرطی خاص، خطایی را فعال کنید. برای این کار کافیست از دستور raise استفاده کنید.

مثال: هشدار وجود خطا را در صورتی فعال و اجرای برنامه را متوقف کن که متغیر x کوچکتر از ۰ باشد.

خروجی:

نکته: در این حالت مانند سایر خطاها برنامه متوقف می‌شود.

از کلمه کلیدی raise برای اعلام وجود خطا استفاده می‌شود، در نتیجه می‌توانید نوع خطا و پیام مختص به آن خطا را نیز خودتان مشخص کنید.

مثال: در صورتی که x یک عدد صحیح (integer) نبود هشدار TypeError را فعال کن و پیام مد نظر را چاپ کن.

خروجی:
تیم محتوایی فنولوژی
تیم محتوایی فنولوژی
گروهی از متخصصان حوزه‌های مختلف
عضویت
اطلاع از
0 دیدگاه‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

فنولوژی را در شبکه‌های اجتماعی دنبال کنید

©۲۰۲۰ – کلیه حقوق مادی و معنوی متعلق به فنولوژی است.