هنر گوگل کردن پیام خطا در پایتون

هنر گوگل کردن پیام خطااگر تازه برنامه نویسی رو شروع کردید و وقتی که به خطا برخورد می‌کنید به خودتون می‌گیند خب!! حالا این رو چی کارش کنم ؟ برای رفع خطا ها این طور نیست که لازم باشه همه‌ی خطا های پایتون یا هر زبان دیگه‌ای رو کامل بشناسیم در واقع اینجوریه که باید خطا ها رو درست بخونیم تا بتونیم در فرایند دیباگ کردن خیلی راحت خطا ها رو پیدا و برطرف کنیم.برای درست خوندن خطا ها در پایتون یا هر زبان دیگه باید اون ها رو دسته بندی بکنیم.که خطا ها به سه دسته‌ی الف: خطایی نحوی ، ب: خطایی زمان اجرا ، پ: خطا های منطقیدر این جا یه نمونه خطایی سینتکس که توست ویرایش‌گر کد قبل اجرای اون گذارش شده استدسته‌ی اول، خطای نحویتشخیص و اصلاح این خطا ها خیلی ساده امکان پذیر است چون قبل این که بخواهیم این کد اجرا کنیم محیط توسعه‌ی کد برای ما خطایی نحوی رو مشخص می‌کنهخطایی ریاضی تقسیم عدد غیر صفر به عدد صفردسته‌ی دوم، خطایی زمان اجرادر این نوع خطا ها باید برنامه اجرا بشه تا بفهمیم که برنامه به مشکل برخورد می‌کنه. در مثال بالا ما از کاربر درخاست وارد کردن دو ورودی رو می‌کنیم اگر عددی که در مخرج قرار داره صفر باشه ما به خطایی ریاضی تقسیم به صفر برخورد می‌کنیم یا تو مثالی دیگه ما داریم با یه کتابخونه کار می‌کنیم که اون کتابخونه برای انجام کارش باید به یه سایتی وصل بشه اما به دلایل مختلف مثلا فیتلر بودن سایت نمی‌تونیم مستقیما به سایت وصل بشیم که در اون صورت ما خطای http رو دریافت می‌کنیم.try: this worksexcept: tell me or do this worksخب برای هندل کردن خطا هایی ممکن ما باید خطا رو تولید کنیم و با استفاده از بلاک های try & except خطا ها رو کنترل کنیم که نمونه try & except رو می‌تویند بالا ببینید و دلیل مون برای این کار اینه که برنامه حین انجام کار متوقف نشه و به کار خودش ادامه بده و همچنین کاربر بتونه خطا رو بخونه تا بتونه دیباگ کنه.Traceback (most recent call last): File &quot<stdin>&quot, line 1, in <module> ZeroDivisionError: division by zeroتو پایتون وقتی داریم یه خطا می‌بینیم ساختار خیلی واضحی داره و ساده ترین و اصولی ترین کاری که می‌تونیم انجام بدیم اینه که داخل او Traceback ما خط اخر خطا رو سرچ کنیم که تو مثال بالا خط آخر کد ما شامل پیام ZeroDivisionError: division by zero است که خودش هم دوقسمت داره قسمت اول ZeroDivisionError که نوع خطا پیش امده رو واسه ما مشخص می‌کنه و قسمت دوم پیام division by zero متن خطا رو می‌گه. https://docs.python.org/3/tutorial/errors.html برای درک بهتر پیام خطا ها می‌تونید قسمت هشت داکیومنت پایتون رو از این لینک بخونیدبعضی مواقع پیش آمده که Traceback ما خیلی بزرگ می‌شه و این به این دلیله که ما از یه کتابخونه استفاده کردیم که خود اون کتابخونه یا فریمورک از کتابخونه های دیگری استفاده می‌کنه و این تو در تو بودن باعث بزرگ بودن Traceback ما می‌شه که در این صورت همه فرقی نمی‌کنه باز خط آخر "پیام" خطا رو سرچ ‌می‌کنیم و تقریبا همیشه داخل استک‌اور‌فلو هم جواب خیلی خوبی قرار دارن.اگر هم با این روش به جایی نرسیدین می تونید به کد خط های قبلی داخل Traceback برگردید و قاعدتا این خطا در کتابخونه که استفاده می‌کنید نیست چون اون کتابخونه یا فریمورک قبلا تست خودش رو پس دادن پس داخل اون Traceback دنبال آخرین کد خط خودتون بگردید که فراخوانی شدهدسته‌ی سوم خطا های منطقیاین نوع خطا ها رو نه با استفاده از بلاک های try & except می‌شه حل کرد نا با روش خطا های زمان اجرا این خطا ها رو فقط با بازخوانی کردن کدی که نوشتید می‌تونید برطرف کنید به عنوان مثالتابع فاکتوریل که تصویر سمت راست خطای منطقی داردتصویر بالا نمونه‌ی خطای منطقی است که فقط با باز مطالعه‌ی کد می‌توان خطا را پیدا کردشاید الان به خودتون بگید که همین بله و عملا راه حل همه‌ی خطا هایی برنامه نویسی همین استممنون که تا این جا من رو هم راهی کردید می‌تونید در جاهای مخطلف دیگری با لینک زیر ما را همراهی کنید https://zil.ink/zinet