تعبير Try…Catch

يسمح التعبير Try…Catch بفحص الأخطاء لمجموعة من الأكواد .


فحص الأخطاء في الجافاسكربت JavaScript

عند فتح صفحات الانترنت فإن بعض الرسائل تظهر لنا وتخبرنا بأن هناك خطأ او كود منتهي الصلاحية ثم يسألنا ” هل تريد تصحيح الخطأ” . بصراحة إن رسائل الأخطاء مفيدة للمطورون والمبرمجون إلا أنها ليست مفيدة للمستخدمون لذلك نرى غالباً خروج المستخدم عند مشاهدة رسائل كهذه .

في هذا الدرس ستتعلم كيفية تصحيح الأخطاء والتحكم بها وبذلك لن تخسر زوار موقعك .


تعبير Try…Catch

يسمح التعبير Try…Catch بفحص الأخطاء لمجموعة من الأكواد . تحتوي خاصية try على الكود الذي يجب تشغيله ثم catch التي بدورها تحتوي على الكود الذي سيظهر رسالة الخطأ في الكود .

التركيبة

try
{
الكود الذي سيتم تشغيله
}
catch(err)
{
الكود الذي سيظهر رسالة الأخطاء
}
 

لاحظ بأن تعبير try…catch مكتوب بأحرف صغيرة . لا يجب كتابته بأحرف كبيرة لأنه سيولد أخطاء في الكود .

شرح المثال التالي

يفترض في المثال التالي إظهار رسالة “مرحباً بك في المعهد العربي للبرمجة” عند الضغط على الزر . الا أن هناك خطأ في كتابة الكود في الكود الوظيفي message() .
أي أن الوظيفة alert() تم كتابتها بشكل خاطئ وهو adddlert() . وهنا يحدث خطأ في الجافاسكربت . وباستخدام التعبير catch سيحصل على الخطأ ويظهر الخطأ الذي حصل برسالة أخرى لمعرفة نوع الخطأ وإصلاحه .

مثال

<html>
<head>
<script type="text/javascript">

var txt="";
function message()
{
try
{
adddlert("مرحباً بالزائر");
}
catch(err)
{
txt="حصل خطأ في هذه الصفحة . nn";
txt+="وصف الخطأ هو : " + err.message + "nn";
txt+="اضغط OK للمتابعةnn";
alert(txt);
}
}

</script>
</head>
<body>

<input type="button" value="إظهار الرسالة" onclick="message()" />

</body>
</html>

في المثال التالي سيتم استخدام صندوق التوكيد لعرض رسالة تخبر المستخدم بأن يضغط على OK لإكمال إظهار الصفحة أو إلغاء Cancel للذهاب الى الرصفحة الرئيسية . ان تم اعطاء نتيجة صحيحة فإن الكود لن يظهر شي .

مثال

<html>
<head>
<script type="text/javascript">

var txt="";
function message()
{
try
{
adddlert("مرحباً بك أيها الزائر");
}
catch(err)
{
txt="هناك مشكلة في هذه الصفحة nn";
txt+="إضغط على OK لعرض النتيجة , n";
txt+="أو إلغاء Cancel للذهاب إلى الصفحة الرئيسية nn";
if(!confirm(txt))
{
document.location.href="http://www.w3arabiconline.com/";
} } }

</script>
</head>
<body>

<input type="button" value="إظهار الرسالة" onclick="message()" />

</body>
</html>

تعبير throw

يمكن استخدام تعبير throw مع try … catch لإنشاء استثناء للخطأ .

ستتعلم المزيد عن هذا التعبير في الدرس القادم .