استثناهای تعریف شده توسط کاربر در برنامه نویسی پایتون

4 سال پیش
استثناهای تعریف شده توسط کاربر در برنامه نویسی پایتون
امتیاز دهید post

استثناهای تعریف شده توسط کاربر در برنامه نویسی پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، شما استثناهای تعریف شده توسط کاربر در برنامه نویسی پایتون (python user-defined exception) را می آموزید که چگونه استثناهای سفارشی را بسته به نیاز خود با کمک مثال تعریف کنید.

پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون

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

با این حال، گاهی اوقات ممکن است لازم باشد استثناهای سفارشی خود را ایجاد کنید که در خدمت هدف شما باشد.

نحوه ایجاد استثناهای تعریف شده توسط کاربر

در پایتون، کاربران می توانند با ایجاد یک کلاس جدید استثناهای سفارشی را تعریف کنند. این کلاس استثنا باید به طور مستقیم یا غیرمستقیم از کلاس توکار Exception گرفته شود. بیشتر استثناهای توکار نیز از این کلاس گرفته شده است.

 

در اینجا، ما یک استثنای تعریف شده توسط کاربر به نام CustomError ایجاد کرده ایم که از کلاس Exception ارث بری می کند. این استثنا جدید ، مانند سایر استثناها، می تواند با استفاده از دستور raise با یک پیام خطای اختیاری مطرح شود.

هنگامی که ما در حال توسعه یک برنامه پایتون هستیم، قرار دادن تمام موارد استثنا ایجاد شده شده توسط کاربر که برنامه ما آنها را مطرح می کند ، یک روش خوب است. بسیاری از ماژول های استاندارد این کار را انجام می دهند. آنها استثنائات خود را جداگانه به عنوان exception.py یا خطا.py تعریف می كنند.

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

مثال: استثنای تعریف شده توسط کاربر در پایتون

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

این برنامه از کاربر می خواهد تا عددی را وارد کند تا زمانی که عدد ذخیره شده را به درستی حدس بزند. برای کمک به آنها برای پیدا کردن جواب درست، راهنمایی در مورد اینکه حدس آنها از عدد ذخیره شده بیشتر یا کمتر است، ارائه می شود.

 

در اینجا نمونه ای از این برنامه را مشاهده می کنید.

 

ما یک کلاس پایه به نام Error تعریف کرده ایم.

دو استثنا دیگر (ValueTooSmallError و ValueTooLargeError) که در واقع توسط برنامه ما مطرح می شوند از این کلاس مشتق شده اند. این روش استاندارد برای تعریف موارد استثنایی تعریف شده توسط کاربر در برنامه نویسی پایتون است، اما شما فقط به این روش محدود نمی شوید.

سفارشی کردن کلاس های استثنا

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

برای یادگیری در مورد سفارشی سازی کلاس های exception، باید دانش اولیه ای در مورد برنامه نویسی شی گرا داشته باشید.

 

خروجی

 

در اینجا، ما سازنده کلاس Exception را نادیده گرفته ایم تا آرگومان های سفارشی salary و message خود را بپذیریم. سپس، سازنده کلاس استثنای والد به صورت دستی با آرگومان self.message با استفاده از ()super فراخوانی می شود.

صفت سفارشی self.salary برای استفاده بعداً تعریف شده است.

سپس از روش __str__ ارثی کلاس Exception برای نمایش پیام مربوطه در هنگام مطرح شدن SalaryNotInRangeError استفاده می شود.

ما همچنین می توانیم روش __str__ را با نادیده گرفتن آن سفارشی کنیم.

 

خروجی

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
  5. انواع داده ها در برنامه نویسی پایتون
  6. تبدیل نوع در برنامه نویسی پایتون
  7. ورودی، خروجی و وارد کردن در برنامه نویسی پایتون
  8. عملگرها در برنامه نویسی پایتون
  9. نام و دامنه در برنامه نویسی پایتون
  10. دستور شرطی if…else در برنامه نویسی پایتون
  11. حلقه for در برنامه نویسی پایتون
  12. حلقه while در برنامه نویسی پایتون
  13. دستورات break و continue در برنامه نویسی پایتون
  14. دستور pass در برنامه نویسی پایتون
  15. توابع در برنامه نویسی پایتون
  16. آرگومان تابع در برنامه نویسی پایتون
  17. تابع بازگشتی در برنامه نویسی پایتون
  18. تابع بی نام/ تابع لامبدا در برنامه نویسی پایتون
  19. متغیرهای سراسری، محلی و غیر محلی در برنامه نویسی پایتون
  20. کلیدواژه global در برنامه نویسی پایتون
  21. ماژول های برنامه نویسی پایتون
  22. پکیج ها در برنامه نویسی پایتون
  23. اعداد و تبدیل نوع داده در برنامه نویسی پایتون 
  24. لیست در برنامه نویسی پایتون
  25. تاپل در برنامه نویسی پایتون 
  26. رشته ها در برنامه نویسی پایتون
  27. مجموعه ها در برنامه نویسی پایتون
  28. دیکشنری در برنامه نویسی پایتون
  29. عملیات ورودی/خروجی در برنامه نویسی پایتون 
  30. دایرکتوری و مدیریت فایل ها در برنامه نویسی پایتون
  31. خطاها و استثناهای توکار در برنامه نویسی پایتون
  32. مدیریت استثناها در برنامه نویسی پایتون
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه