خطاهای جاوااسکریپت را به دو صورت متوجه می شوید یکی ظاهر شدن مثلثی زرد با یک علامت تعجب در سمت چپ نوار وضعیت مرورگر که در بعضی از مرورگرها این نوار مشاهده نمی شود و می توانید برای مشاهده آن به منوی View مرورگر رفته و روی گزینه Status Bar کلیک کنید. حالت دیگر دیدن پیغامهای خطا، باز شدن یک پنجره در وسط مرورگر است که در این حالت جزئیات خطای ایجاد شده را هم می توانید مشاهده کنید.

در نسخه های جدید مرورگر اینترنت اکسپلورر این پنجره مشاهده نمیشود و ابتدا آنرا باید فعال کنید. برای فعال کردن آن به منوی Tools مرورگر رفته و گزینه Internet Options را انتخاب کنید، در پنجره باز شده به قسمت Advanced رفته و گزینه Display a notification about script error را تیک بزنید، بهتر است که قبل از شروع کد نویسی جاوااسکریپت این عمل را انجام دهید تا هنگام بروز خطا در صدد رفع آن برآیید که به این کار اشکال زدایی یا Debugging می گویند. اگر هم این گزینه را فعال نکردید، هنگام بروز خطا می توانید بر روی آن مثلث زرد رنگ در نوار وضعیت رفته و دوبار کلیک کنید که همان پنجره اعلان خطا باز خواهد شد.

انواع خطاها

اساساً دو نوع خطا برای جاوااسکریپت وجود دارد:

۱- خطاهای نحوی یا   Syntax errors   – مشکلی در ترکیبات کدها بوجود آمده

۲- خطاهای زمان اجرا یا  Run time errors  – احتمالاً یک دستور بطور اشتباه جای یک دستور دیگر نوشته شده است

ایجاد یک خطا

کد زیر را با نام error.htm ذخیره کنید:

<html>
<head>
<title> Error message </title>
</head>
<body>
<script language="javascript" type="text/javascript">
document.write("I'm ready for first error message.");
</script>
</body>
</html>

یکبار آنرا اجرا کنید و نتیجه را مشاهده کنید. حالا پرانتز دوم راحذف می کنیم، بدین صورت:

document.write(“I’m ready for first error message.”;

سپس فایل را دوباره ذخیره کرده و اجرا می کنیم. پنجره پیغام خطا باز می شود، اگر جزئیات پیغام را ندارید روی دکمه Details یا Show Details کلیک کنید تا ببینیم که چه اطلاعاتی را می توانیم بدست آوریم. در کادر جزئیات اولین گزینه Line می باشد که اگر مطابق کد بالا عمل کرده باشید باید درجلوی آن عدد ۷ نوشته شده باشد. این خط به ما می فهماند که ایراد در خط هفتم سورس کد است. دقت کنید، تنها خطهای مربوط به جاوااسکریپت را نباید بخوانید بلکه کلیه خطوط از بالا به پایین خوانده می شود، حتی خطهای خالی هم باید شمرده شوند.

دومین گزینه، کلمه Char است که بیانگر عدد شمارش شده کاراکتری که باعث بروز خطا شده است و در اینجا آن عدد ۵۲ می باشد. فراموش نکنید که هر فاصله بین کلمات هم یک کاراکتر به حساب میاید. شاید اینجا سؤالی برایتان پیش بیاید که چرا عدد ۵۲ ؟ در صورتی که در اینجا پرانتز کاراکتر۵۱ است. باید یک نکته را خدمتتان عرض کنم که علامت ; در جاوااسکریپت یک کاراکتر اختیاری است که نشان دهنده پایان یک خط از کد می باشد و برنامه نویسان بر حسب عادتی که دارند از این علامت استفاده می کنند ، در اینجا مفسر جاوااسکریپت آنرا به عنوان یک کاراکتر قبل از کاراکتر اصلی خطا شناسایی کرده است.

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

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

 

نمایش قابل چاپ