Error原生类型
?表示錯誤對象
–EvalError, URIError, RangeError, etc.
?捕獲方式:
–try { …throw new Error(…) } catch(e) { … }
–理論上可以throw出任意對象
?Error對象IE和FireFox公有屬性
–message:錯誤信息
Error瀏覽器特定屬性
?IE:
–description:同message屬性
–number:錯誤編號,只有腳本引擎拋出的錯誤才有該屬性
?FireFox:
–fileName:創建錯誤的文件
–lineNumber:創建錯誤對象的行號
–stack:創建錯誤時的堆棧信息
html
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml"?>
<head>
????<title>Native?Error?Type</title>
????<script?language="javascript"?type="text/javascript"?src="Error.js"></script>
</head>
<body>
????<script?language="javascript"?type="text/javascript">
????????try
????????{
????????????throwError();
????????}
????????catch(e)
????????{
????????????var?errorMsg?=?("Message:?"?+?e.message?+?"\n");
????????????
????????????if?(!e.stack)?//?IE
????????????{
????????????????errorMsg?+=?("Description:?"?+?e.description?+?"\n");
????????????????errorMsg?+=?("Number:?"?+?e.number);
????????????}
????????????else
????????????{
????????????????errorMsg?+=?("Line?Number:?"?+?e.lineNumber?+?"\n");
????????????????errorMsg?+=?("File?Name:?"?+?e.fileName?+?"\n\n");
????????????????errorMsg?+=?("Stack?Trace:\n"?+?e.stack);
????????????}
????????????
????????????alert(errorMsg);
????????}
????</script>
</body>
</html>
Error.js
function?throwError()
{
????throw?new?Error("Custom?Error");
}
function?getNiceError()
{
????var?e?=?Error.create("Error?Message",
????????{customMessage?:?"Custom?Message"});
????
????e.popStackFrame();
????return?e;
}
–EvalError, URIError, RangeError, etc.
?捕獲方式:
–try { …throw new Error(…) } catch(e) { … }
–理論上可以throw出任意對象
?Error對象IE和FireFox公有屬性
–message:錯誤信息
Error瀏覽器特定屬性
?IE:
–description:同message屬性
–number:錯誤編號,只有腳本引擎拋出的錯誤才有該屬性
?FireFox:
–fileName:創建錯誤的文件
–lineNumber:創建錯誤對象的行號
–stack:創建錯誤時的堆棧信息
html
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml"?>
<head>
????<title>Native?Error?Type</title>
????<script?language="javascript"?type="text/javascript"?src="Error.js"></script>
</head>
<body>
????<script?language="javascript"?type="text/javascript">
????????try
????????{
????????????throwError();
????????}
????????catch(e)
????????{
????????????var?errorMsg?=?("Message:?"?+?e.message?+?"\n");
????????????
????????????if?(!e.stack)?//?IE
????????????{
????????????????errorMsg?+=?("Description:?"?+?e.description?+?"\n");
????????????????errorMsg?+=?("Number:?"?+?e.number);
????????????}
????????????else
????????????{
????????????????errorMsg?+=?("Line?Number:?"?+?e.lineNumber?+?"\n");
????????????????errorMsg?+=?("File?Name:?"?+?e.fileName?+?"\n\n");
????????????????errorMsg?+=?("Stack?Trace:\n"?+?e.stack);
????????????}
????????????
????????????alert(errorMsg);
????????}
????</script>
</body>
</html>
Error.js
function?throwError()
{
????throw?new?Error("Custom?Error");
}
function?getNiceError()
{
????var?e?=?Error.create("Error?Message",
????????{customMessage?:?"Custom?Message"});
????
????e.popStackFrame();
????return?e;
}
轉載于:https://www.cnblogs.com/timy/archive/2008/05/04/1181428.html
總結
- 上一篇: [学习]GridView 学习集合 --
- 下一篇: 买办的故事