دست و پنجه نرم کردن با خطاهای برنامه نویسی برای همه مشکله.
هیچوقت اون روزهایی رو فراموش نمیکنم که هاج و واج پای کامپیوتر نشسته بودم و فکر میکردم چرا کدم Run نمیشه؟!!.
حتما شما هم چنین موقعیتی رو تجربه کردید مگه نه؟؟.
نکته غم انگیز ماجرا اینجاست که فکر میکنی چند وقت دیگه که برنامه نویسیم بهتر بشه دیگه کدهام ارور نمیده. اما هرچی جلوتر میری و بیشتر یاد میگیری، میبینی که متاسفانه همونطور که دنیای برنامه نویسی ته نداره، خطاهای برنامه نویسی هم تمومی نداره؛ و هر بار با یه ارور جدید مواجه میشید.
اما نترسید. امروز میخوام یه مطلبی بنویسم که دیگه خطا و رفع خطا نگرانتون نکنه. و به راحتی برنامهتون رو کامپایل کنید (البته اگه از زبان کامپایلری استفاده میکنید).
پ. ن: اگه نمیدونی منظورم از زبان کامپایلری چیه؟ جلسه سوم دوره آموزشی قبل از شروع برنامه نویسی رو از این لینک ببین.
چرا باید انواع خطاهای برنامه نویسی رو بشناسیم؟
نه فقط موقع برنامه نویسی، بلکه هروقت با مشکلی مواجه شدید؛ برای حل کردن مشکل باید اول علت به وجود اومدن مشکل رو بفهمید. برای مثال فرض کنید مشکل اضافه وزن دارید و هرچقدر رژیم میگیرید و ورزش میکنید لاغر نمیشید. ممکنه ناامید بشید؛ درحالی که ممکنه مشکلات متعددی مثل استرس، مشکلات گوارشی، مشکلات هورمونی و… باعث چاقی شما شده باشن. در این حالت شناخت مشکل کلید حل ماجرا است. مثلا اگه متوجه بشید علت اضافه وزنتون مشکلات هورمونیه، کافیه داروهای تنظیم هورمون مصرف کنید.
توی دنیای برنامه نویسی هم همینطوره. یعنی وقتی با خطایی موجه میشید، آه و ناله کردن و کاسه چه کنم؟ چه کنم؟ دست گرفتن، راه حل ماجرا نیست. بلکه باید بفهمید علت این خطا چیه؟. اون موقعست که میتونید به راحتی خطا رو برطرف کنید و لذت ببرید.
انواع خطاهای برنامه نویسی:
1 . خطای Syntax یا نگارشی:
به ظاهر ساده و مظلومش نگاه نکنید. خیلی وقتا باعث و بانی مشکلات همین Syntax Error به ظاهر مظلوم و بیگناهه.
سینتکس ارور زمانی اتفاق میفته که نگارش یا املا یکی از کلمات کلیدی زبان برنامه نویسی (دستورات برنامه نویسی) اشتباه باشه. برای مثال به جای while نوشته باشید wihle. و یا آخر خط سمی کالن رو فراموش کرده باشید و… . هرچند ممکنه فکر کنید امکان نداره کسی دستورات رو اشتباه بنویسیه؛ اما خوبه بدونید این خطا قربانیهای زیادی داره. بنابراین هروقت توی توضیحات خطا کلمه Syntax Error رو دیدید، زود بگردید دنبال غلط املایی.
2 . خطای معنایی یا Semantic Error:
این خطا مربوط به وقتی هست که کدهایی که نوشتید با توجه به دستورات و منطق اون زبان برنامه نویسی بی معنی باشن. برای مثال دستور ++i در زبانهای برنامه نویسی سی، سی شارپ، جاوا و تعداد زیادی از زبانها، مقدار متغیر i رو یک واحد اضافه میکنه. یعنی اگه مقدار i برابر با 3 باشه، بعد از این دستور برابر با 4 خواهد بود. حالا تصور کنید متغیر i به جای اینکه مقدار عددی مثل 3 داشته باشه، برابر با یک اسم مثل narges باشه. از اونجایی که narges + 1 برای کامپیوتر بی معنیه، نوشتن چنین دستوری با خطا مواجه میشه.
3 . خطای زمان کامپایل یا Compile Error:
توی جلسات قبلی این دوره درباره کامپایلر با هم صحبت کردیم (جلسه دوم). جالبه بدونید وقتی کامپایلر کلیه مراحل کامپایل رو انجام میده، ممکنه حین کامپایل با خطایی موجه بشه که به خطای زمان کامپایل معروفه. این خطا معمولا زمانی اتفاق میفته که کامپایلر نتونه به همه ملزومات مورد نیاز برای اجرای برنامه دسترسی داشته باشه. برای مثال شما در کدهاتون یک فایل رفرنس رو فراخوانی کردید اما کامپایلر به هر دلیلی نمیتونه به فایل فراخوانی شده دسترسی داشته باشه.
4 . خطای زمان اجرا یا Runtime Error:
به جرئت میتونم بگم بدترین نوع خطا همین خطای زمان اجراست. نحوه عملکرد ایشون هم به این صورته که هیچ خطایی بهت نمیده و اصلا هیچی نمیگه. برنامه با موفقیت کامپایل میشه اما خروجی دلخواه نمیده. و اصلا انگار نه انگار که کلی وقت گذاشتی و این همه کد زدی.
باز صد رحمت به خطاهای قبلی که حداقل یه راهنمایی میکردن که مشکل چیه و میتونستی خطا رو رفع کنی. اما خطای زمان اجرا هیچی نمیگه و خودت باید بفهمی مشکل چیه؟!. بهترین راه برای رفع این خطا اینه که از Trace کردن کد استفاده کنید. یعنی خودتو بذاری جای کامپایلر و خط به خط ورودی و خروجی کدت رو چک کنی و ببینی چه اتفاقی میفته.
جمع بندی:
توی این مقاله درباره انواع خطاهای برنامه نویسی و نحوه برطرف کردنشون صحبت کردیم. در آینده ویدیوهای آموزشی این بخش رو براتون آپلود میکنم، پس مطالب رو از دست ندید و دوره رو دنبال کنید. امیدوارم این آموزش براتون مفید بوده باشه. موفق باشید.