91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

JS技巧:JavaScript中try...catch和異常處理

admin
2010年8月18日 9:11 本文熱度 4162

在JavaScript可以使用try...catch來進行異常處理。例如:  try    {
    foo.bar();
}   catch  (e)   {
    alert(e.name  +   " :  "   +  e.message);
}
 
目前我們可能得到的系統異常主要包含以下6種:


EvalError: raised when an error occurs executing code in eval()
RangeError: raised when a numeric variable or parameter is outside of its valid range
ReferenceError: raised when de-referencing an invalid reference
SyntaxError: raised when a syntax error occurs while parsing code in eval()
TypeError: raised when a variable or parameter is not a valid type
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
 
上面的六種異常對象都繼承自Error對象。他們都支持以下兩種構造方法:


 new  Error();
 new  Error( " 異常信息 " );
手工拋出異常的方法如下:


  try    {
     throw   new  Error( " Whoops! " );
}   catch  (e)   {
    alert(e.name  +   " :  "   +  e.message);
}


如要判斷異常信息的類型,可在catch中進行判斷:


 try    {
    foo.bar();
}   catch  (e)   {
     if  (e  instanceof  EvalError)   {
        alert(e.name  +   " :  "   +  e.message);
    }   else   if  (e  instanceof  RangeError)   {
        alert(e.name  +   " :  "   +  e.message);
    }
     //   etc
 }


 Error具有下面一些主要屬性:


description: 錯誤描述 (僅IE可用).
fileName: 出錯的文件名 (僅Mozilla可用).
lineNumber: 出錯的行數 (僅Mozilla可用).
message: 錯誤信息 (在IE下同description)
name: 錯誤類型.
number: 錯誤代碼 (僅IE可用).
stack: 像Java中的Stack Trace一樣的錯誤堆棧信息 (僅Mozilla可用).
因此為了更好的了解錯誤信息我們可以將catch部分改為如下形式:


  try    {
    foo.bar();
}   catch  (e)   {
     if  (browserType  !=  BROWSER_IE)   {                           
        alert(
             " name:  "   +  e.name  +
             " \nmessage:  "   +  e.message  +
             " \nlineNumber:  "   +  e.lineNumber  +
             " \nfileName:  "   +  e.fileName  +
             " \nstack:  "   +  e.stack);       
    }
      else    {                   
        alert(
             " name:  "   +  e.name  +    
             " \nerrorNumber:  "   +  (e.number  &   0xFFFF )  +
             " \nmessage:  "   +  e.message " );       
    }
}


JavaScript中的throw命令事實上可以拋出任何對象,并且我們可以在catch接受到此對象。例如:


1  try    {
2     throw   new  Date();     //  拋出當前時間對象
3  }   catch  (e)   {
4    alert(e.toLocaleString());     //  使用本地格式顯示當前時間
5 }


該文章在 2010/8/18 9:11:53 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 欧美性色欧美a | 区三区成人精品 | 日本高清视频www | 精品日产乱 | 沦为性玩物| 99sewo| 伦理电影网 | 福利导航小视频在线 | 日本不卡中文字幕 | 91进入蜜| 国产自在线91 | 中文字幕日本不卡 | 麻花影视| 97成人免费视频 | 最新手机在线电影 | 国产日韩末满 | 日韩国产亚洲 | 欧美三级欧美做a爱 | 国产女人十八毛 | 日韩国产精品一区 | 欧美日皮片 | 91大神是啥| 国产真实乱在线更新 | 国产在线拍偷自揄 | 国产在线精品 | 欧美日韩不卡在线 | 97成人抖音| 黑人巨大 | 成人3D在线| 精品日韩国产 | 尤物视频一区二区 | 97操人人草人人 | 99热在线精品观看 | 成人一区视频入口 | 91看片婬黄大片 | 国产精品第60页 | 国产精品先锋 | 韩国欧美一区二区 | 日韩轮流片福利 | 精品国产品 | 韩国三级伦理在线 |