خطاهای منطقی
برخلاف اشتباهات نحوی، خطاهای منطقی از اجرای یک اسکریپت جلوگیری نکنید. اسکریپت اجرا می شود، اما به دلیل مشکل در منطق آن، نتیجه مطلوب را ایجاد نمی کند. تعداد بی شماری از خطاهای منطقی احتمالی وجود دارد، اما در اینجا چند مورد از رایج ترین انواع موجود در اسکریپت ها وجود دارد:
1. عبارات شرطی نادرست کدنویسی نادرست if/then/else و اجرای منطق اشتباه آسان است. گاهی اوقات منطق معکوس می شود یا ناقص می شود.
2. خطاهای "Off by one". هنگام کدگذاری حلقههایی که از شمارنده استفاده میکنند، ممکن است نادیده گرفته شود که حلقه ممکن است نیاز داشته باشد که شمارش با صفر شروع شود، نه یک، تا شمارش در نقطه درست به پایان برسد. این نوع خطاها باعث میشود که یک حلقه با شمارش بیش از حد به پایان برسد، یا با پایان دادن یک تکرار خیلی زود، آخرین تکرار حلقه را از دست بدهد.
3. موقعیت های پیش بینی نشده بیشتر خطاهای منطقی ناشی از برخورد برنامه با داده ها یا موقعیت هایی است که توسط برنامه نویس پیش بینی نشده بود. همانطور که دیدیم، این میتواند شامل بسطهای پیشبینی نشده نیز باشد، مانند نام فایلی که حاوی فضاهای تعبیهشده است که به جای یک نام فایل، به چندین آرگومان فرمان گسترش مییابد.