در برنامه نويسي خطا پيش مي آيد .اهميت موضوع در كاهش خطا و پيدا كردن خطا هاست .در جاوااسكريپت هم اين مورد مصداق دارد .در اين بخش به نحوي خطايابي در جاوااسكريپت مي پردازيم.
كد برنامه نويسي ممكن داراي خطاي نحوي(Syntax error) يا منطقي (logical Error)باشد .تشخيص بسياري از خطاها دشواراست ويافتن آن نيازمند تجريه ميباشد.
اغلب موارد كه كد برنامه داراي خطا باشد، هيچ اتفاق انعكاسي نمي افتد، وهيچ پيام خطا براي بررسي داده نمي شود.
به جستجو ور رفع خطا ها در كد برنامه نويسي خطايابي ميگويند.
خطا يابي آسان نيست ولي خوشبختانه همه مرورگرهاي مدرن داراي تابع خطايابي داخلي جاوااسكريپت هستند .خطاياب هاي داخلي را ميتوان خاموش يا روشن نمود .در هنگام روشني گزارش خطا ها ظاهر ميشود.
با يك ديباگريا خطا ياب ميتوانيد نقطه قطع را اجرا مشخص كنيد، تابتوانيد متغيرهاي برنامه را بررسي نمائيد.
بطور معمول با زدن كليدF12 ديباگر را فعال كنيد، وبا انتخاب آيتم console در منوي ديباگر خطاها را مشاهده نمائيذ .در غير اين حالت مراحل پائين صفحه را دنبال نمائيد.
اگر مرورگر خطايابي را پشتيباني ميكند، ميتوانيد ازمتدconsole.log() براي نمايش مقادير جاوااسكريپت در ويندوي خطاياب استفاده نمائيد.
مثال ـ براي خطا يابي
<!DOCTYPE html> <html> <body> <h1>My First Web Page</h1> <script> a = 5; b = 6; c = a + b; console.log(c); </script > </body> </html>
،در ديباگر ويندو ، ميتوان نقطه قطع برنامه جاوااسكريپت را مشخص كرد .درهر نقطه قطع اجراي جاوااسكريپت متوقف و اجازه ميدهد مقادير آنرا بررسي كنيد.
پس از بررسي مقادير ميتوان اجراي كد را ازسرگرفت .اين كار معمولا با يك دكمه پخش (play button)انجام ميشود .
كي وردdebugger اجراي كد جاوااسكريپت را متوقف ميكند وتابعي براي ديباگي وجود داشته باشد، فراخوان ميشود .اين همان عملكردي را دارد كه يك نقط شكست در ديباگرعمل ميكند .اگر خطايابي در دسترس نباشد ، دستور ديباگر تاثيري ندارد.
مثال ـ با روشن بودن ديباگر اجراي كد قبل از خط سوم توقف ميشود.
let x = 15 * 5; debugger; document.getElementById("demo").innerHTML = x;
بطور معمول، ميتوان با كليدF12 وانتخاب آيتم console از منوي ديباگر، آنرا فعال نمود.در غير اينصورت مراحل زير بايد طي شود.
آيا ميدانستيد?
اشكال زدائي فرآيندآزمايش، يافتن وكاهش باگها در برنامه هاي كامپيوتريست.
اولين باگ كامپيوتري شناخته شده يك حشره واقعي بود، كه در وسايل الكتونيكي گير كرده بود.