JavaScript Try...Catch Óï¾ä
try...catch µÄ×÷ÓÃÊDzâÊÔ´úÂëÖеĴíÎó¡£
ʵÀý
- try...catch Óï¾ä
- ÈçºÎ±àд try...catch Óï¾ä¡£
- ´øÓÐÈ·ÈÏ¿òµÄ try...catch Óï¾ä
- ÁíÒ»¸ö±àд try...catch Óï¾äµÄÀý×Ó¡£
JavaScript - ²¶»ñ´íÎó
µ±ÎÒÃÇÔÚÍøÉϳåÀËʱ£¬×ܻῴµ½´øÓÐ runtime ´íÎóµÄ Javascript ¾¯¸æ¿ò£¬Í¬Ê±»áѯÎÊÎÒÃÇ¡°ÊÇ·ñ½øÐÐ debug£¿¡±¡£ÏñÕâÑùµÄ´íÎóÐÅÏ¢»òÐí¶Ô¿ª·¢ÈËÔ±ÓÐÓ㬶ÔÓû§Ôòδ±Ø¡£µ±´íÎó·¢Éúʱ£¬ËûÃÇÍùÍù»áÑ¡ÔñÀ뿪Õâ¸öÕ¾µã¡£
±¾½ÚÏòÄã½²½âÈçºÎ²¶»ñºÍ´¦Àí Javascript µÄ´íÎóÏûÏ¢£¬ÕâÑù¾Í¿ÉÒÔΪÊÜÖÚÌṩ¸ü¶àµÄ±ãÀû¡£
ÓÐÁ½ÖÖÔÚÍøÒ³Öв¶»ñ´íÎóµÄ·½·¨£º
- ʹÓà try...catch Óï¾ä¡£(ÔÚ IE5+¡¢Mozilla 1.0¡¢ºÍ Netscape 6 ÖпÉÓÃ)
- ʹÓà onerror ʼþ¡£ÕâÊÇÓÃÓÚ²¶»ñ´íÎóµÄÀÏʽ·½·¨¡£(Netscape 3 ÒÔºóµÄ°æ±¾¿ÉÓÃ)
×¢Ò⣺chrome¡¢opera ºÍ safari ä¯ÀÀÆ÷²»Ö§³Ö onerror ʼþ¡£
Try...Catch Óï¾ä
try...catch ¿ÉÒÔ²âÊÔ´úÂëÖеĴíÎó¡£try ²¿·Ö°üº¬ÐèÒªÔËÐеĴúÂ룬¶ø catch ²¿·Ö°üº¬´íÎó·¢ÉúʱÔËÐеĴúÂë¡£
Óï·¨£º
try{ //ÔÚ´ËÔËÐдúÂë }catch(err){ //ÔÚ´Ë´¦Àí´íÎó }
×¢Ò⣺try...catch ʹÓÃСд×Öĸ¡£´óд×Öĸ»á³ö´í¡£
ʵÀý 1
ÏÂÃæµÄÀý×ÓÔ±¾ÓÃÔÚÓû§µã»÷°´Å¥Ê±ÏÔʾ "Welcome guest!" Õâ¸öÏûÏ¢¡£²»¹ý message() º¯ÊýÖÐµÄ alert() ±»ÎóдΪ adddlert()¡£Õâʱ´íÎó·¢ÉúÁË£º
<html>
<head>
<script type="text/javascript">
function message()
{
adddlert("Welcome guest!")
}
</script>
</head>
<body>
<input type="button" value="View message" onclick="message()" />
</body>
</html>
ÎÒÃÇ¿ÉÒÔÌí¼Ó try...catch Óï¾ä£¬ÕâÑùµ±´íÎó·¢Éúʱ¿ÉÒÔ²ÉÈ¡¸üÊʵ±µÄ´ëÊ©¡£
ÏÂÃæµÄÀý×ÓÓà try...catch Óï¾äÖØÐÂÐÞ¸ÄÁ˽ű¾¡£ÓÉÓÚÎóдÁË alert()£¬ËùÒÔ´íÎó·¢ÉúÁË¡£²»¹ýÕâÒ»´Î£¬catch ²¿·Ö²¶»ñµ½ÁË´íÎ󣬲¢ÓÃÒ»¶Î×¼±¸ºÃµÄ´úÂëÀ´´¦ÀíÕâ¸ö´íÎó¡£Õâ¶Î´úÂë»áÏÔʾһ¸ö×Ô¶¨ÒåµÄ³ö´íÐÅÏ¢À´¸æÖªÓû§Ëù·¢ÉúµÄÊÂÇé¡£
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="´ËÒ³Ãæ´æÔÚÒ»¸ö´íÎó¡£\n\n"
txt+="´íÎóÃèÊö: " + err.description + "\n\n"
txt+="µã»÷OK¼ÌÐø¡£\n\n"
alert(txt)
}
}
</script>
</head>
<body>
<input type="button" value="View message" onclick="message()" />
</body>
</html>
ʵÀý 2
ÏÂÒ»¸öÀý×Ó»áÏÔʾһ¸öÈ·ÈÏ¿ò£¬ÈÃÓû§À´Ñ¡ÔñÔÚ·¢Éú´íÎóʱµã»÷È·¶¨°´Å¥À´¼ÌÐøä¯ÀÀÍøÒ³£¬»¹Êǵã»÷È¡Ïû°´Å¥À´»Øµ½Ê×Ò³¡£Èç¹û confirm ·½·¨µÄ·µ»ØÖµÎª false£¬´úÂë»á°ÑÓû§Öض¨Ïòµ½ÆäËûµÄÒ³Ãæ¡£Èç¹û confirm ·½·¨µÄ·µ»ØÖµÎª true£¬ÄÇô´úÂëʲôҲ²»»á×ö¡£
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="There was an error on this page.\n\n"
txt+="Click OK to continue viewing this page,\n"
txt+="or Cancel to return to the home page.\n\n"
if(!confirm(txt))
{
document.location.href="http://www.w3school.com.cn/"
}
}
}
</script>
</head>
<body>
<input type="button" value="View message" onclick="message()" />
</body>
</html>
onerror ʼþ
ÎÒÃÇÂíÉϻὲ½â onerror ʼþ¡£µ«Ê×ÏÈÄúÐèҪѧϰÈçºÎʹÓà throw Óï¾äÀ´´´½¨Òì³£¡£throw Óï¾ä¿ÉÒÔÓë try...catch Óï¾äÒ»ÆðʹÓá£