طراحی سایت در شرکت طراحی سایت مبنا
طراحی سایت هدف نیست، ارتقا تجارت هدف است

دستور throw در جاوا اسکريپت

8 / 10 از 5 کاربر

در این قسمت از آموزش جاوا اسکریپت به توضیح دستور throw در جاوا اسکریپت می پردازیم . توسط دستور throw در جاوا اسکريپت می توان يک خطايابی کامل تر را انجام داد . با استفاده از اين دستور به همراه ساختار try-catch ، می توان روند اجرای برنامه و بروز خطا را کاملا تحت کنترل داشت و يک پيغام خطا دقيق طراحی کرد .

نکته : دستور throw به تنهايي کاربردی نداشته و بايد آنرا با ساختار دستوری try-catch به کار برد .

در مثال زير سعی شده است ، تا چگونگی استفاده از يک دستور throw را در قالب ساختار try-catch توضيح داد .
مثال : در مثال زير يک اسکريپت ساده برای دريافت ورودی از کاربر طراحی شده است . تابع Enter_Num که توسط دکمه فرمان Enter Number فراخوانی می شود ، در ابتدا يک کادر متن برای دريافت ورودی از کاربر ، نمايش می دهد . مقدار دريافتی از کاربر در متغير Num ذخيره می شود . سپس در يک ساختار try-catch ، مقدار دريافتی از کاربر بررسی می شود .
در حالت اول ، چنانچه کاربر مقداری را در کادر وارد نکرده و آنرا خالی ارسال کرده باشد ، برنامه خطای 1 را شناسايي و يک پيام هشدار مبنی بر وارد کردن عدد نمايش داده و سپس مجددا تابع Enter_Num را برای دريافت مقدار صحيح اجرا می کند . در حالت دوم اگر کاربر عددی بزرگتر از 100 را وارد کرده باشد ، برنامه خطای دوم را شناسايي کرده و يک پيغام هشدار مبنی بر بزرگ بودن عدد وارده را نمايش داده و مجددا تابع Enter_Num را اجرا می کند . به کد مثال و نحوه استفاده از دستور throw دقت کنيد :

< script type="text/javascript" >
 function Enter_Num ( )
 {
  var Num = prompt ( "Enter a number please : " , "" ) ;
   try
 {
  if ( !Num )
    throw "Error1"
    else if ( Num > 100 )
    throw "Error2"
    }
   catch ( er )
    {
    if ( er == "Error1" )
    {
    alert ( "Plese enter a number !" ) ;
    Enter_Num ( ) ;
   }
    if ( er == "Error2" )
   {
   alert ( "Number too big . Enter a smaller number !" ) ;
   Enter_Num( ) ;
       }
       }
    }
< /script >

< input type="button" id="BtnEnter" value="Enter Number " onclick="Enter_Num( )" />

g

ارسال نظر و نظرات ثبت شده
نام شما :
ایمیل :
تلفن تماس :
متن پیغام :