سلام به تمامی دوستان عزیزم ؛ همونطور که توی مقاله ی قبلی بهتون قول داده بودم توی این مقاله قراره به بررسی مدیریت خطاها در پایتون بپردازیم و یکی از پرکاربردترین روش ها یعنی مدیریت خطا با try و except در پایتون را با همدیگر مورد بررسی قرار دهیم .
قبل از این که بررسی مدیریت خطا با try و except در پایتون (Exception Handling) رو شروع کنیم اگر تا الآن مقالات قبلی ما در رابطه با انواع ارور در پایتون و ارورهای مختلف در پایتون رو مطالعه نکردین پیش از ادامه ی مطالعه ی این مقاله بهتون پیشنهاد می کنم که حتما یه سری به این مقالات بزنین .
به طور کلی مدیریت خطا در پایتون به ۲ روش مدیریت خطا با try و except در پایتون (Exception Handling) و مدیریت خطا با استفاده از Assertion در پایتون می باشد که در این مقاله به بررسی مورد اول می پردازیم .
مدیریت خطا با try ، except و finally در پایتون :
قبل از اینکه بریم و بررسی کنیم چطور می تونیم با استفاده از try و except خطا را در پایتون مدیریت کنیم باید این موضوع رو در نظر داشته باشید که مدیریت خطا با try و except در پایتون تنها برای مدیریت exception استفاده می شود و تفاوت آن با Syntax Error این است که در ارور های نحوی مفسر پایتون با دستور نادرست مواجه می شود و خطا می دهد اما در Exception Errorخطای ما از نوع ارور منطقی است و کد ما از نظر سینتکس درست می باشد .
چگونگی مدیریت خطا با try و except در پایتون :
خب حالا که متوجه شدیم برای چه از try و except استفاده می کنیم بریم ببینیم به چه صورتی می توانیم برای مدیریت خطا از آن ها استفاده کنیم .
اگر بخوام خیلی ساده توضیح بدم برای مدیریت خطا با try و except کاری که لازم است انجام دهیم این است که قطعه کدی که می خواهیم در حالت عادی و بدون برخورد با ارور و مشکلی اجرا شود را داخل بلوک try و همچنین ادامه ی کد که در صورتی رخ می دهد که با استثناء (exception) در برنامه مواجه شویم را در بلوک except قرار می دهیم .
می توانیم دستور except خود را محدود به exception های خاصی کنیم . برای مثال در بخش except برنامه ی خود تعریف کنیم که اگر خطای ما از نوع Type Error بود بخش except اجرا شود .
به یاد داشته باشید که به ازای هر try ، حداقل یک except داریم و تعداد except ها می تواند بیشتر هم باشد .
در صورتی که بعد از بلوک های try و except بلاک else نیز داشته باشیم آنگاه بعد از اجرای بلاک try و یا except کد مربوط به else اجرا خواهد شد .
توجه داشته باشید اگر بلوک try ، return داشته باشد در این صورت دستورات مربوط به بلوک else اجرا نخواهد شد .
و اما می رسیم به بلوک finally . این بلوک در هر صورتی اجرا می شود و برای این استفاده می شود که ما مطمئن شویم آن دستوراتی که در بدنه ی بلوک finally نوشته شده انجام می شود حتی اگر استثنایی رخ دهد .
توجه داشته باشیم که استفاده از finally کاملا اختیاری بوده اما به ازای هر try در برنامه باید حداقل یک except داشته باشیم .
همچنین برای اینکه بتوانیم در صورت رخ دادن حالت خاصی ارور مورد نظر خود را نمایش دهیم و یا برای exception های از پیش تعیین شده متن دلخواهی بنویسیم می توانیم از raise استفاده کنیم .
به مثال زیر برای درک بیشتر کاربرد raise دقت کنین :
در این مثال از کاربر عدد گرفته و درصورتی که بیش تر از ۵ باشد با خطای value Error رو به رو می شویم .
حال برای اینکه چگونگی مدیریت خطا با try و except در پایتون براتون جا بیفته به مثال ساده ی زیر دقت کنید :
خب این مقاله هم در اینجا به پایان می رسه ؛ امیدوارم که بعد از مطالعه ی این مقاله به خوبی مدیریت خطا با try و except در پایتون رو درک کرده باشین و در برنامه ی خود به راحتی استفاده کنین . برای اطلاعات بیشتر در رابطه با مدیریت خطا با try و except در پایتون بهتون پیشنهاد می کنم یه سری به اینجا بزنین . در مقاله ی بعدی به بررسی مدیریت خطا با استفاده از Assertion در پایتون خواهیم پرداخت .
تا مقاله ی بعدی خداوند یار و نگهدارتون .