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

استفاده از ساختار onerror ، روش قدیمی خطا یابی در صفحات وب در زبان جاوا اسکریپت است.

در صفحه قبل ، نحوه استفاده از ساختار دستوری try … catch را توضیح دادیم . از ساختار دستوری onerror نیز برای خطایابی در صفحات وب ، ولی با روشی متفاوت استفاده می شود.

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

تابع مدیریت خطا با ۳ پارامتر ( آرگومان ) ، به شرح زیر فراخوانی خواهد شد:

msg: متن پیام خطایی که توسط مرورگر تولید شده و شامل توضیحاتی راجع به error رخ داده است ، را ارائه می دهد.

url: مسیر کامل صفحه ای که خطا در آن اتفاق افتاده را شامل می شود.

l: شماره خط کدی که خطا در آن اتفاق افتاده است ، را نگهداری می کند.

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

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

function   نام تابع مدیریت خطا ( )

{

دستورات مدیریت خطا

return false Or true

}

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

در صورت تعیین و باز گرداندن مقدار True ، مررورگر در هنگام وقوع یک error ، در نوار Status Bar علامت و گزارش خطا را اعلام نمی کند ولی در صورت بازگرداندن مقدار False ، مرورگر در نوار پایین علامت خطا را نمایش داده و یک گزارش کامل از خطا را به صورت استاندارد اعلام می کند.

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

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

<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()" />
  • امیدواریم از مقاله ساختار دستوری onerror با تیک4 همراه باشید

دیدگاه‌ خود را بیان کنید

اشتراک در
اطلاع از
guest

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید0
There are no products in the cart!