المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : java_script الدرس العاشر



zaizo max
04-10-2013, 08:45 PM
بسم الله الرحمن الرحيم
********
" اللهم علمنا ما ينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم "
------------------------------------------------------------------

تكلمنا فى دروس سابقة عن FUNCTIONS وكيفية كتابتها وتعرفنا على
الباراميترات PARAMETERS ووضحناها ثم وضحنا العبارة RETURN
وفصلنا فيها وضحنا اذا ما كانت الدالة FUNCTION ترجع قيمة RETURN VALUE
او لا VOID


<script type="text/javascript">
function aboutYou(yourName,yorAge,yourEducation,yorAddress)
{

if(yourName==""||yorAge==''||yourEducation==""||yorAddress=="")
{
document.write( "انت تركت احد الحقول فارغة ");

}
else{

document.write("<h3 dir='rtl'>شكرا لك تفاصيلك هى :</h3>");
document.write("<div>Your name : "+yourName+"<br />"+"Your age : "
+yorAge+"<br />"+"Education : "+yourEducation+"<br />"+"Address : "
+yorAddress+" <br /></div>");
}
}
function showDetails(){
aboutYou(prompt("ادخل اسمك",""),
prompt("ادخل عمرك",""),
prompt("ادخل مؤهلك الدراسى",""),
prompt("ادخل عنوانك",""));
}
showDetails();

</script>

سنتكلم اليوم باذن الله تعالى عن موضوع مهم جدا الا وهو الاخطاء ERRORS
دعنا نفصل فى الاخطاء بشى بسيط لتوضح الصورة
تنقسم الاخطاء فى البرمجة عموما الى منطقية LOGICAL ERRORS واخطاء
فى بنية اللغة او نحوية SYNTAX ERROR

اولا فى تراكيب اللغة SYNTAX ERROR
==========================
تظهر هذه الاخطاء عند كتابة بعض الجمل فى اللغة بصورة خاطئة غير المعرفة
فى اللغة مثل كتابة FUNCTION هكذا FANCTION او IF من غير الاقواس ()
ولا اقصد الاقواس {} لان هذه يمكن الاستغناء عنها فيما يسمى ب COLIN IF او اف المختصرة
لاحظ


<script type="text/javascript">
var x=10;
if (x!=0)
alert(x);
/*هذه هى اف المحتصرة
حيث انها تعتبر ما ياتى بعدها مباشرة ضمنها اى ضمن بنيتها
وهى تنفذ السطر الذى بعدها مباشرة فقط
اما ما بعد ذلك فلا يعتبر من ضمن عبارة اف
*/
var y = "zaizo";
if(y=="max")
alert("no");
document.write(y);
/* لاحظ هنا انه سيتم طباعة المتغير y
وهضا يعنى انه if تاخد السطر الذى بعدها مباشرة
وتتجاهل ما بعدها اى لا تعتبره ضمن ال block
*/
</script >

كذلك if else و else if
كذلك تحدث الاخطاء من هذا النوع عند عدم كتابة ؛ او semicolon
ةتحدث ايطا عندما تكون الدالة function ترجع قيمة ولا يوجد متغير
يستقبل هذه القيمة وتعتبر هذه الاخطاء سهلة الاكتشاف والمعالجة

الاخطاء المنطقية logical errors
=======================
وتحدث هذة الاخطاء عادة اثناء الربط linking او اثناء التشغيل Runtime
او طلب ملف والملف غير موجود او الذهاب الى صفحة غير موجودة على السيرفر
والاخيرة تسبب انهيار البرنامج او السكربت لانها تعتبر fatal error
اى خطا قاتل وتعتبر هذه الاخطاء صعبة الاكتشاف

الاخطاء فى java script
================
كما سبق اون ذكرنا الاخطاء فى البرمجة عامة كلها تاخد نفس
الاتجاة الا ان فى لغات برمجة ال web تحدث بالاضافة الى ما سبق
ان تكون هناك ارسال قيم من المستخدم غير مرغوب فيها او اتناءال response
من ال server قد يكون اخطى ترجمة بعض الاكواد وسنتعرف على ذلك ان شاء الله
عندما نصل الى ajax فى دروس متقدمة

try & catch and throw
====================
تستخدم هذه العبارات فى الاكواد التى تحتمل ان يكون بها خطا
مما يساعد على اكتشافها وتصحيحها ان وجدت

الصيغة العامة للعبارات
==============
try وهى تسمح لك بكتابة بلوكات من الاكواد التى تريد ان تكتشف او تتواقع ان
يحدث بها خطاء catch وتعمل على اصطياد او اكتشاف الخطاء الممر فى العبارة
try ان حدث وكان هناك خطاء اما throw تمكنك من اظهار رسائل خطا انت تريد
ان تظهر للمستخدم وتمكنك من التحكم فى بلوكاتك


<script type="text/javascript">
try{
//statements
throw ;
}
catch(error)
{
//statments
throw ;
}
</script>

جرب ان تعمل {كذا} امسك الخطا( كذا /*وهنا يمكن تحديد الاخطاء التى تريد ان تمسك بها*/ ) { افعل كذا ؛ }
وفى كلا try او catch يمكن استخدام throw


<script type="text/javascript">
function getError()
{
try
{
adddlert("Welcome guest!"); // الخطاء هنا
}
catch(err)
{
document.write("<div dir='rtl'>"+"<b>"
+"يوجد لديك خطاء هنا "+"<br />وصف الخطأ : "+err.message+"<br />"+"ارجع الى اكوادك "
);
}
}
getError()
</script>

لاحظ فى الكود السابق اننا تعمدنا ان نحدث خطأ لاختبار العبارات السابقة

ناتى ل throw
الصيغة العامة لها
============
throw exception
والخطا المتوقع يمكن ان يكون object او String او Number او Boolean


<script type="text/javascript">
function myFunction()
{
try
{
var x = prompt("ادخل اى رقم هنا ","")
if (x=="") throw "فارغ";
if(isNaN(x)) throw "ليس رقم";
if(x==null) throw "null";
}
catch(err)
{
document.write(err);
}
}
myFunction();
</script>


الى هنا نختم موضوعنا عن الاخطاء
مع لقاء اخر فى احداث الجافا سكربت event
=================================
الحمد لله رب العالمين واشهد ان لا اله الا الله
وان محمد رسول الله

Mr.JnOoN
04-10-2013, 08:48 PM
شكرآ لك ويشرفني الرد الاول على موضوعك
متميز تنسيق جميل وشرح اروووع كذلك
تقبل مروري

Iraqe Hacker
04-10-2013, 08:53 PM
الله يكرمك والله مبدع ومبرمج محترف

zaizo max
04-11-2013, 10:55 AM
شكرآ لك ويشرفني الرد الاول على موضوعك
متميز تنسيق جميل وشرح اروووع كذلك
تقبل مروري

يشرفى مرورك دائما اخى Mr.JnOoN\
ومروك هو الاورع تحياتى لك

- - - تم التحديث - - -


الله يكرمك والله مبدع ومبرمج محترف

يشرفى مرورك اخى:):):)

haker.abode
04-11-2013, 11:51 AM
شكراااا على المجهود الكبير
تفبل مروري ...

ahmedfreed
04-11-2013, 12:17 PM
بارك الله فيك

zaizo max
04-11-2013, 03:45 PM
شكرا على مروركم الكريم اخوانى
:):):):)تحياتى لكم :):):):)