دستورات مقدماتی Java Script

ساختار دستوری onerror :

استفاده از ساختار onerror ، روش قديمی خطا يابی در صفحات وب در زبان جاوا اسکريپت است .
در صفحه قبل ، نحوه استفاده از ساختار دستوری try ... catch را توضيح داديم . از ساختار دستوری onerror نيز برای خطايابی در صفحات وب ، ولی با روشی متفاوت استفاده می شود .
رويداد onerror ، هر زمان که خطايي در يک اسکريپت در صفحه به وجود بيايد ، تحريک شده و اتفاق می افتد . برای استفاده از رويداد onerror ، برنامه نويس بايد تابعی را طراحی کند که خطا به وجود آمده در صفحه را مديريت ( Handle ) کند . رويداد onerror در زمان بروز خطا ، تابع مديريت خطا ( Event Handler Function ) را فراخوانی خواهد کرد ، که در اين صورت دستورات پيش بينی شده برای مواجه با خطا اجرا خواهد شد .
تابع مديريت خطا با 3 پارامتر ( آرگومان ) ، به شرح زير فراخوانی خواهد شد :

  1. msg : متن پيام خطايي که توسط مرورگر توليد شده و شامل توضيحاتی راجع به error رخ داده است ، را ارائه می دهد .
  2. url : مسير کامل صفحه ای که خطا در آن اتفاق افتاده را شامل می شود .
  3. l : شماره خط کدی که خطا در آن اتفاق افتاده است ، را نگهداری می کند .

شکل کلی تعريف يک ساختار onerror ، به همراه تابع مديريت خطا به صورت زير است :

onerror  =  نام تابع مديريت خطا

function   نام تابع مديريت خطا ( )
   {
     دستورات مديريت خطا
     return false Or true
   }

نکته مهم : تابع مديريت خطا دارای يک مقدار بازگشتی است ، که توسط طراح و به وسيله دستور return تعيين می شود . اين مقدار می تواند يکی از 2 حالت True يا False باشد .اين مقدار تعيين می کند که آيا مرروگر در هنگام بروز خطا ، علامت خطا را در نوار پايين مرورگر ( Status Bar ) نشان داده و گزارش استاندارد راجع به خطا به وجود آمده اعلام کند يا خير .
در صورت تعيين و باز گرداندن مقدار True ، مررورگر در هنگام وقوع يک error ، در نوار Status Bar علامت و گزارش خطا را اعلام نمی کند ولی در صورت بازگرداندن مقدار False ، مرورگر در نوار پايين علامت خطا را نمايش داده و يک گزارش کامل از خطا را به صورت استاندارد اعلام می کند .

مثال : در مثال زير يک تابع مديريت خطا با نام ErrorHandler برای واکنش در زمان بروز خطا طراحی شده است . اين تابع قرار است در هنکام بروز خطا يک کادر پيام حاوی توضيح نوع خطا ، آدرس کامل صفحه ای که خطا در آن روي داده و شماره خط کد اشتباه را به کاربر اعلام کند .
از طرف ديگر در تابع PageEroor ، يک اشتباه تايپی وجود دارد و به جای عبارت alert نوشته شده است alertt . اين اشتباه باعث بروز خطا در صفحه شده که در نتيجه تابع مديريت خطا فراخوانی شده و پيغام خود را نمايش می دهد . همچنين به علت باز گرداندن مقدار true توسط تابع مديريت خطا ، مرورگر علامت خطا را در نوار Status Bar نشان نمی دهد :

Example
<script type="text/javascript">
  onerror = ErrorHandler
  function ErrorHandler ( msg , url , l )
    {
      alert ( "Error Discription : " + msg + "\nPage URL : " + url + "\nLine Number : " + l ) ;
      return true ;
    }
</script>

<script type="text/javascript">
  function PageError ( )
    {
      alertt ( "developer" ) ;
    }
</script>

<input type="button" id="BtnError" value="Click to view error report" onclick="PageError()" />
کد
خروجی


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نظر خودتان درباره این صفحه را با ما در میان بگذارید :

آیا مطالب این صفحه برای شما مناسب و مفید بود ه است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟