日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

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

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

在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

主站蜘蛛池模板: 国产微视频在线观看网站 | 日韩视频中文字幕 | 青青青爽国产 | 国产高清在线精品一区小说 | 伦视频中文字幕亚洲天堂网 | 成人精品日本亚洲电影院电影 | 三级综合精品乱伦 | 亚洲欧美日韩国产精品专区网 | 在线永久观看国产精品电影 | 日韩欧美另类一区二区三区 | 亚洲图片国产 | 欧美日韩国产一区二区三区不卡 | 欧美精品欧美***欧美激情 | 国产又粗又猛又黄又爽视频 | 欧美性猛交xxxx乱大交蜜桃 | 97碰碰碰成年免费视频s | 亚洲欧美日韩精品高清 | 亚洲中文字幕乱码熟女在线 | 最近更新在线中文字幕 | 精品国产一区二区三区不卡 | 午夜在线观看视频 | 日本午夜免费 | 亚洲欧美一区二区三区久本道 | 欧美性色欧美a在线观看 | 日产a一a区二区 | 在线日韩欧美一区二区三区 | 性一交一黄一片 | 亚联创展包装(清远)有限公司 | 日韩精品a在线视频 | 国产视频 | 婷婷婷国产在线视频 | 日韩欧美性爱精品一区二区 | 香蕉成人伊视频 | 日本一区二区三区在线观看 | 亚洲国产精品自产在线播放 | 亚洲aⅴ男人的 | 亚洲性色精品一区二区在线 | 岳的大肥坹毛茸茸 | 一区二区三区四区在线播放视频 | 国产91茄子在线播放 | 老师你下面太紧进不去小黄文 |