国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript 中的try catch應用總結

2024-05-06 15:18:59
字體:
來源:轉載
供稿:網友

javascript 中的try catch應用總結

實例代碼:

<script language="JavaScript"> try { throw new Error(10,"asdasdasd") } catch (e) { alert(e.message); alert(e.description) alert(e.number) alert(e.name) throw new Error(10,"asdasdasd") } </script> 

在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 +    "message: " + e.message +    "lineNumber: " + e.lineNumber +    "fileName: " + e.fileName +    "stack: " + e.stack);       }  else {               alert("name: " + e.name +       "errorNumber: " + (e.number & 0xFFFF ) +    "message: " + e.message");       } }

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

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 临安市| 阿坝| 湘潭市| 深泽县| 咸宁市| 淮滨县| 黄冈市| 云阳县| 新河县| 翼城县| 山丹县| 东乌珠穆沁旗| 淄博市| 英吉沙县| 大城县| 桂东县| 绥中县| 奉节县| 镇雄县| 航空| 新巴尔虎右旗| 绥中县| 黑河市| 武川县| 兴安盟| 廉江市| 瑞金市| 翼城县| 芷江| 道孚县| 莱阳市| 泰来县| 马龙县| 湘乡市| 太谷县| 金山区| 东光县| 雷山县| 雅安市| 淮安市| 临沧市|