Microsoft Asp.Net Ajax框架入门(6) Debugging and Typed Errors
来源:互联网 发布:chart js 提示最大值 编辑:程序博客网 时间:2024/06/05 14:11
VS2008
本文介绍在开发客户端Javascript的时候,如何输出调试信息,以及如何定义自定义异常类型并捕获。
1. Sys.Debug
Microsoft AJAX Library提供了一个Sys.Debug的类,用于调试的时候将调试信息输出,有了它我们就不再需要使用蹩脚的alert的方法了。
为了让调试跟踪信息在页面上展现,我们需要在页面上加入一个名为TraceConsole的的textarea控件
1.1 Sys.Debug.trace
方法定义 Sys.Debug.trace(text)
这个方法的功能是:将一个跟踪文本信息在TraceConsole中显示
1.2 Sys.Debug.traceDump
方法定义 Sys.Debug.traceDump(Object, string name)
这个方法的功能是:将一个对象的所有属性信息(包括值)在TraceConsole中显示
假设我页面上有一个名为"form1"的元素,
traceDump {Sys.UI.Point}
x: 10
y: 15
1.3 Sys.Debug.assert
方法定义 Sys.Debug.assert(Boolean condition, string message, Boolean displayCaller)
也就是我们在Unit Test中常见的断言,当condition为false的时候,脚本执行会异常终止,并提示message信息,如果displayCaller为true的话,将显示断言所属的调用者(函数)
2. 异常与try...catch代码块
2.1 使用内建的异常类型
在Error下的几个方法可以帮助我们创建几个常用的内建的异常类型
例:
TraceConsole中输出的信息为:
traceDump {Error}
description: Sys.ArgumentNullException: Value cannot be null.
message: Sys.ArgumentNullException: Value cannot be null.
name: Sys.ArgumentNullException
paramName: Undefined
2.2 使用自定义异常类型
可以通过Error的create自定义异常类型:
TraceConsole输出:
traceDump {Error}
description: myError
message: myError
name: xxx
desc: my cc
本文介绍在开发客户端Javascript的时候,如何输出调试信息,以及如何定义自定义异常类型并捕获。
1. Sys.Debug
Microsoft AJAX Library提供了一个Sys.Debug的类,用于调试的时候将调试信息输出,有了它我们就不再需要使用蹩脚的alert的方法了。
为了让调试跟踪信息在页面上展现,我们需要在页面上加入一个名为TraceConsole的的textarea控件
<textarea id="TraceConsole" cols="50" rows="10"></textarea>
1.1 Sys.Debug.trace
方法定义 Sys.Debug.trace(text)
这个方法的功能是:将一个跟踪文本信息在TraceConsole中显示
Sys.Debug.trace("this is a debug message");
页面执行完之后就会在TraceConsole中显示这句文本。1.2 Sys.Debug.traceDump
方法定义 Sys.Debug.traceDump(Object, string name)
这个方法的功能是:将一个对象的所有属性信息(包括值)在TraceConsole中显示
假设我页面上有一个名为"form1"的元素,
Sys.Debug.traceDump(Sys.UI.DomElement.getLocation( $get("form1") ));
那么,在TraceConsole中我将看到如下信息:traceDump {Sys.UI.Point}
x: 10
y: 15
1.3 Sys.Debug.assert
方法定义 Sys.Debug.assert(Boolean condition, string message, Boolean displayCaller)
也就是我们在Unit Test中常见的断言,当condition为false的时候,脚本执行会异常终止,并提示message信息,如果displayCaller为true的话,将显示断言所属的调用者(函数)
Sys.Debug.assert(1>2, "1 怎么会大于 2呢", false);
这时会有一个windows警告框弹出,并提示 message 信息。2. 异常与try...catch代码块
2.1 使用内建的异常类型
在Error下的几个方法可以帮助我们创建几个常用的内建的异常类型
例:
try {
throw Error.argumentNull();
}
catch(e) {
Sys.Debug.traceDump(e);
}
throw Error.argumentNull();
}
catch(e) {
Sys.Debug.traceDump(e);
}
TraceConsole中输出的信息为:
traceDump {Error}
description: Sys.ArgumentNullException: Value cannot be null.
message: Sys.ArgumentNullException: Value cannot be null.
name: Sys.ArgumentNullException
paramName: Undefined
2.2 使用自定义异常类型
可以通过Error的create自定义异常类型:
var myError = Error.create("myError", {name: " xxx", desc : "my cc"});
try {
throw myError;
}
catch(e) {
Sys.Debug.traceDump(e);
}
try {
throw myError;
}
catch(e) {
Sys.Debug.traceDump(e);
}
TraceConsole输出:
traceDump {Error}
description: myError
message: myError
name: xxx
desc: my cc
- Microsoft Asp.Net Ajax框架入门(6) Debugging and Typed Errors
- Microsoft Asp.Net Ajax框架入门(1) 初览
- Microsoft Asp.Net Ajax框架入门(3) 操作DOM元素
- Microsoft Asp.Net Ajax框架入门(8) 枚举
- Microsoft Asp.Net Ajax框架入门(9) 事件
- Microsoft Asp.Net Ajax框架入门(10) ScriptManager, UpdatePanel, Timer
- Microsoft Asp.Net Ajax框架入门(13) PageRequestManager
- Microsoft Asp.net Ajax 框架介绍
- Microsoft Asp.Net Ajax框架入门(2) 页面的客户端生命周期
- Microsoft Asp.Net Ajax框架入门(4) 订阅事件处理函数并传递参数
- Microsoft Asp.Net Ajax框架入门(5) Object类型、String类型、Array类型
- Microsoft Asp.Net Ajax框架入门(7) 名称空间、类、继承、接口
- Microsoft Asp.Net Ajax框架入门(11) 调用内部Web Services
- Microsoft Asp.Net Ajax框架入门(12) 了解异步通信层
- Debugging Applications for Microsoft .NET and Microsoft Windows
- Understanding ASP.NET AJAX Debugging Capabilities
- Atlas becomes: Microsoft AJAX Library and ASP.NET 2.0 AJAX Extensions
- asp.net Ajax框架
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题(转)
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题(转)
- 不可不知的计算机领域的国际组织
- Error - cannot open input file /postproc/nlscfg.inf 错误解决
- 爱E聚合桌面
- Microsoft Asp.Net Ajax框架入门(6) Debugging and Typed Errors
- 整合
- 第二十二課 言葉
- tomcat6的MSSQL Server2000数据库连接池设置
- Microsoft Asp.Net Ajax框架入门(7) 名称空间、类、继承、接口
- js动态显示当前日期,时间和星期代码
- gx 特殊的社区系统
- profile
- 转自IBM developer 使用PHPDoc