شروع 01 اولین قدم خیلی مهمه، خیلیا به خاطر ترس از شکست شروع نمیکنن
پس ترس رو بزار کنار و شروع کن
فقط شروع کن
تمرین و تکرار 02 خیلیا وارد حوزه برنامه نویسی میشن و به خاطر سختی هاش سریع جا میزنن و عقب میکشن
پس اگه میخوای موفق بشی فقط و فقط تمرین کن و پشتکار داشته باش
پشتکار
حرف اول و آخر رو میزنه
موفقیت 03 زمانی میتونی به این مرحله برسی که واقعا تلاش کرده باشی. برنامه نویسی واقعا راحت نیستش
اگه خوب تلاش کنی، مطمئن باش نتیجه زحماتت رو خیلی خوب دریافت میکنی
موفقیت رو باید به دست بیاری
اندروید

انواع خطاها و ارورها در برنامه نویسی

انواع خطاها در برنامه نویسی

انواع خطاها و ارورها در برنامه نویسی

خطاها جز جدا نشدنی از برنامه‌نویسی هستند.

توی برنامه‌نویسی چندین خطا وجود داره که هرکدو از این خطاها نشون دهنده یکسری از اشکالات در برنامه‌های ما هستند.

همواره به عنوان برنامه‌نویس باید این خطاها را بشناسید و تفاوت اونا رو بدونید تا بهتر بتونید برطرفشون کنید.

توی این پست میخوام 6 تا از اصلی ترین خطاهای برنامه نویسی رو معرفی کنم تا کامل با اونا آشنا بشید.

 

  • Syntax Error (خطای ظاهری)

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

همونطور که از اسمش مشخصه، این خطا زمانی رخ میده که موقع نوشتن کد، کد مورد نظر رو درست ننویسید.

این خطا قبل از کامپایل کردن هم به شما نشون داده میشه و میتونید ببینید که کجا رو اشتباه نوشتید.

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

بزارید یه مثال فارسی بزنم تا درکش راحتتر باشه.

فرض کنید موقع صحبت کردن یکی بگه : “تو خواهم آمد”.

میبینید که اصلا درست نیستش، هم از نظر معنایی درست نیست و هم از نظر دستوری.

حالا یه مثال توی برنامه نویسی میزنم.

همانطور که می‌دونید برای اینکه از رشته‌ها (String) استفاده کنیم، متن مورد نظر رو باید داخل دوتا “” متن رو قرار بدیم.

حالا فرض کنید که یکی اینطوری مینویسه :

val message = This is just for test from Nouri.in"

خب می‌بینید که من پیام بالا رو بجای اینکه توی 2 تا “” قرار بدم توی یه دونه نوشتم.

پس بهم خطا میده و از کد من ایراد میگیره.

این خطا همون Syntax error هستش.

نگران این نوع خطاها نباشید، چون اکثر IDEها این خطاهارو نشون میدن.
مخصوص AndroidStudio که کامل این خطاها رو نشون میده

 

  • Compile Error (خطای زمان کامپایل)

این نوع خطاها زمانی رخ میدن که شما میخواید برنامه خودتون رو کامپایل کنید.

به این ارورها توی فارسی خطای زمان ترجمه هم میگن.

یکسری از خطاها هستند که توی ظاهر نشون داده نمیشدن، یعنی جز خطاهای Syntax نیستن، زمانی نمایان میشن که قصد کامپایل کردن پروژه رو دارید.

بعضی از زبان های مثل جاوا، زبان‌های کامپایلری هستن. یعنی اینکه قبل از اجرا باید کامپایل بشن.

راستشو بخواین کامپایل کردن پروژه یکی از پیچیده‌ترین عملیات هستش و برای اینکه این عملیات با موفقیت انجام بشه باید یکسری مقدمات رو برای پروژه آماده کنیم.

یکی از این کارهایی که زمان کامپایل صورت میگیره و ماهم میتونیم بهشون دسترسی داشته باشیم اینه که کلیه فایل‌های پروژه رو در دسترس قرار بدیم، یا اگه از یه کتابخونه استفاده کردیم اونو به درستی به پروژه اضافه کنیم.

اگه هرکدوم از این مقدمات به دلایلی درست پیاده سازی نشن، با خطای Compile error روبرو میشیم.

 

  • RunTime Error (خطای زمان اجرا)

فرض کنید که یه کدی نوشتین و بدون هیچ مشکلی هم کامپایل شده، ولی هنگام اجرای کد یکسری شرایط خاص پیش میاد که برنامه بدرستی کار نمی‌کنه!

مثلا : یه کدی نوشتین که وظیفه‌ش اینه که باید از یه فایلی یکسری اطلاعات رو واکشی کنه و به کاربر نشون بده. ولی همچین فایلی اصلا وجود نداره!

درواقع شما با خطای کار با فایل روبرو میشید که جزئی از خطاهای زمان اجرا هست.

به یه عبارت دیگه RunTime error یه خطای غیرمنتظره هستش. یعنی همه چیز به درستی و بدون ایراد کارمی‌کنه تا اینکه به یکباره یک نقصی بوجود میاد.

بارزترین خطا توی RunTime error خطای تقسیم بر صفر هستش.

درواقع کد ما هیچ ایرادی نداره، ولی خب تقسیم عددی بر صفر یه مقدار تعریف نشده هستش.

حالا اگه ما یه اپلیکیشن ماشین حساب درست کرده باشیم و برای این خطا فکری نکرده باشیم، اگه کاربر عددی رو بر صفر تقسیم کنه طبیعتا اپلیکیشن با RunTime error روبرو میشه.

روش های مختلفی برای برطرف کردن این نوع خطاها وجود داره که یکی از رایج‌ترین اونا try-catch هستش.

 

  • Logical Error (خطای منطقی)

اعصاب خورد کن ترین خطا همین هستش، خطایی که ساعت‌ها یا حتی روزها میتونه شمارو درگیر خودش کنه و واقعا کفر آدم رو بالا میاره.😤

فرض کن کدی نوشتی که Syntax error نداره، Compile error نداره وحتی RunTime error هم نداره، (ایول دمت گرم عجب کدی نوشتی 😀) ولی میبینی که اِ، برنامه درست کار نمی‌کنه !هیچ خطایی هم نمیده که بتونی بری دلیلش رو بفهمی!

توی خطای منطقی، کدها درست کار میکنن، کامپایل به درستی کامپایل میشه و ورودی‌های برنامه هم کاملاً صحیح و بدون ایراد هستند. اما نتیجه کار، اشتباه هستش.🤨

بزارید یه مثالی بزنم، فرض کن قراره یه ماشین حساب درست کنی و با زدن دکمه ضربدر بجای اینکه اعداد رو توی هم ضرب کنی اومدی جمعشون کردی. یعنی بجای اینکه از × استفاده کنی از + استفاده کردی!

حالا باید بیای کل کدهای اون کلاس رو بخونی تا بتونی خطا رو پیدا کنی.

شاید بگی اینکه چیزی نیست ضرب 2 عدده دیگه میرم میبینم کجا اشتباهی + گذاشتم درستش میکنم، به همین راحتی😊

مشکل اینجاست که برنامه‌هایی که مینویسیم درحد ضرب و جمع 2 عدد نیستن و خیلی بزرگتر از اینهاست.

پس خطای منطقی‌ای هم که بوجود بیاد ممکنه خیلی بزرگتر و زمانبر باشه.

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

یعنی برنامه به درستی اجرا میشه و میشه باهاش کار کرد، فقط نتیجه ای که مد نظر ما هست رو نشون نمیده.

اگه خطا توی نوشتن کدها پیدا نشد، باید فلوچارت یا الگوریتم برنامه رو مجدداً بررسی کنید.
گاهی اوقات خطای ما توی کدها نیست، بلکه در نحوه تحلیل و تعریف الگوریتم برنامه هستش.

 

  • Resource Error (خطای منابع)

هر اپلیکیشنی برای اجرا نیاز به یک منابعی داره.

منابع از جمله : RAM CPU Storage و…

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

طبیعتا نباید انتظار داشته باشید که سیستم عامل کلیه منابع موجود رو فقط به برنامه شما اختصاص بده و برای بقیه برنامه های هیچ منابعی رو درنظر نگیره.

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

خطای ANR (Application Not Responding) یکی از رایج ترین این خطاها توی اندروید هستش.

 

  • Interface Error (خطای واسط)

رسیدیم به آخرین خطا توی این لیست 6 تایی.

نرم‌افزارها و حتی سخت‌افزارها برای تعامل با هم از واسط (interface) استفاده می‌کنن.

تعریف واسط یه بحث مفصلیه که توی شئ‌گرایی هم خیلی کاربرد داره. (در این زمینه توی پست های آینده حتما توضیح میدم)

فرض کنید یک وب‌سرویس (API) داریم.

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

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

 

خب اینم 6 تا خطای رایج برنامه‌نویسی که هر برنامه‌نویسی باید اونارو خوب بشناسه.

تاحالا هنگام کار کردن با این خطاها روبر شدی؟ کدومش بیشتر اذیتت کرده؟

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

11 − هفت =

فیلدهای نمایش داده شده را انتخاب کنید. دیگران مخفی خواهند شد. برای تنظیم مجدد سفارش ، بکشید و رها کنید.
  • عکس
  • شناسه محصول
  • امتیاز
  • قیمت
  • در انبار
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • عرض
  • اندازه
  • تنظیمات بیشتر
  • ویژگی ها
  • Custom attributes
  • زمینه های دلخواه
مقایسه
لیست علاقه مندی ها 0