PDA

View Full Version : سوال: روشهای کنترل خطا در جاوااسکریپت



فاطمه_14
سه شنبه 10 مرداد 1391, 14:47 عصر
سلام
خسته نباشید
ببخشید این 2 کد با هم چه فرقی دارند؟منظورم اینه که آیا حتما خطاها را با try...catch باید کنترل کرد؟کدام یک بهترند؟
کد اول مربوط به کنترل خطاست ولی با شرط معمولی
function Enter_Num()
{
var Num=prompt("Enter a number please : " , "");
if (!Num)
{
alert ( "Plese enter a number !" ) ;
Enter_Num();
}
else if (Num>100)
{
alert ( "Number too big . Enter a smaller number !" ) ;
Enter_Num();
}
}

کد دوم مربوط به کنترل خطاست ولی با try...catch
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();
}
}
}

mmojbo
جمعه 13 مرداد 1391, 13:51 عصر
سلام

مسلماً کار کردن با بلاک try {} catch{} بهتر و حرفه ای تر. چون بهتر میشه باهاش خطاها رو مدیریت کرد.
اما در برنامهای کوچک و معمولی خیلی تفاوتی با حالت کنترل کردن معمولی ندارد.
کاربرد آن زمانی خود را نشان خواهد داد که برنامه شما دارای کدهای بسیار است، که در این صورت شما میتوانید به راحتی خطاها را مدیریت کرده و از نوشتن کدهای اضافی و احیاناً تکراری پرهیز کنید.