【Error类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展

Error原生类型(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页面

<script language="javascript" type="text/javascript" src="Error.js"></script>

<script language="javascript" type="text/javascript">
		try
		{
			throwError();
		}
		catch(e)
		{
		    var errorMsg = ("Message: " + e.message + "\n"); //message:Error对象IE和FireFox公有属性,指错误信息
		    
		    //Error浏览器特定属性
			if (!e.stack) // IE中支持
			{
			    errorMsg += ("Description: " + e.description + "\n"); //description:同message属性
			    errorMsg += ("Number: " + e.number); //number:错误编号,只有脚本引擎抛出的错误才有该属性
			}
			else//FireFox中支持
			{
			    errorMsg += ("Line Number: " + e.lineNumber + "\n"); //lineNumber:创建错误对象的行号
				errorMsg += ("File Name: " + e.fileName + "\n\n"); //fileName:创那家错误的文件
				errorMsg += ("Stack Trace:\n" + e.stack); //stack:创建错误时的堆栈信息
			}
		    
			alert(errorMsg);
		}
	</script>


Error.js页面

function throwError()
{
    throw new Error("Custom Error");
}

 

Microsoft AJAX Library对Error原生类型的扩展

注:需添加ScriptManager控件  如:<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

• Error.create(message, errorInfo)方法:
 –创建新的Error对象
 –将Error对象的message属性设为true
 –将errorInfo上的信息附加到Error对象
• Error.prototype.popStackFrame()方法:
 –为Error对象整理出更优雅直观的信息(lineNumber, stack)
 –对于IE无效
 –如果一个方法仅仅是返回Error对象而不是抛出对象,则在返回前应该调用该方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值