ساختار دستوری onerror در جاوا اسکریپتReviewed by Datacss.ir on Oct 28Rating:

ساختار دستوری 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()” />

 

منبع: sitedesign-co.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست
Call Now Buttonتماس سریع