Python Try Except
مدیریت استثناها
زمانی که خطایی رخ میدهد، که ما در اینجا آن را استثنا (exception) مینامیم، پایتون متوقف شده و یک پیغام خطا را نمایش میدهد.
چنین استثناهایی را میتوان توسط دستور try
مدیریت کرد. این دستور از ۴ بخش تشکیل شده است:
- بلوک
try
: به شما این امکان را میدهد که یک بلوک کد رابرای خطاهای احتمالی تست کنید. - بلوک
except
: به شما این امکان را میدهد که خطای احتمالی را مدیریت کنید. - بلوک
else
: به شما این امکان را میدهد که در صورت عدم وجود خطا کد را اجرا نمائید. - بلوک
finally
: به شما این امکان را میدهد که صرفنظر از نتیجه بلوک try-except کد را اجرا کنید.
در مثال زیر چون x
تعریف نشده، در بلوک try
با خطا مواجه خواهیم شد.
از آنجا که بلوک try
یک خطا را ایجاد کرده است، بلوک except
اجرا میشود.
بدون بلوک try
برنامه با شکست مواجه شده و پیغام خطا را نمایش میدهد.
مدیریت چندین خطا
میتوانید هر تعداد بلوک except
به دلخواه خود بنویسید. مثلاً شاید بخواهید که برای یک خطای خاص یک بلوک کد خاص را اجرا کنید.
در کد زیر در صورت وجود خطای NameError
یک پیغام خاص و در صورت وجود خطای دیگر یک پیغام متفاوت نشان داده خواهد شد.
else
در صورتی که خطایی وجود نداشته باشد، میتوانید از بلوک else
جهت اجرای یک بلوک کد استفاده کنید.
finally
در صورتی که بلوک finally
تعریف شود، صرفنظر از اینکه در بلوک try
با خطا مواجه شویم یا خیر، این بلوک کد اجرا میشود.
استفاده از این بلوک برای بستن اشیاء و پاکسازی منابع میتواند مفید باشد.
ایجاد استثنا
به عنوان یک برنامهنویس پایتون ممکن است که تحت شرایطی که پیشبینی کردهاید بخواهید یک خطا را ایجاد کنید. برای انجام چنین کاری از دستور raise
استفاده میکنیم.
میتوان نوع خطا و پیغامی را که به کاربر نمایش داده میشود، توسط این دستور تعیین کرد.