文档: 检查错误
当您在服务器脚本中用 remote scripting 调用方法时,可能会遇到多种错误,包括语法错误和运行时间错误,以及调用 remote scripting 方法时的错误。remote scripting 调用机制向您提供了获知调用过程中所出现错误信息的途径。
错误处理程序根据您是进行同步或者异步调用稍微有些不一样。如果您在进行同步调用时导致错误,那么 remote scripting 机制将在浏览器中显示一条错误消息。错误文字来自于调用对象的 message 属性。有关详细信息,请参阅如下的“Remote Scripting 调用故障诊断”。
不过,如果您产生导致一个错误的异步调用,那么您可以通过指定一个错误回调函数捕获该错误,该回调函数的调用在很大程度上和普通回调函数有相似之处。
捕获异步调用中产生的错误
您可以指定自己异步 remote scripting 调用中的错误回调函数名。由于您必须传递该回调函数的函数指针,因此对于异步方法调用来说,您必须使用 JavaScript。如果您已经创建了对服务器页的对象引用,那么可以用第一个语法示例。否则可以用第二个语法示例。
callObject = ASPObject.methodName(p1, p2[,...],
callbackFunction, errorCallbackFunction, context)
callobject = RSExecute(url, methodName, p1, p2[,...],
callbackFunction, errorCallbackFunction, context)
有关产生对服务器方法异步调用的详细信息,请参阅异步调用 Remote Scripting 方法。
不管您进行同步还是异步调用,都可以得到关于错误条件的信息,方法是测试调用对象的属性。如果用户指定了错误回调函数,那么调用对象就被作为参数传递,就象普通回调函数参数传递一样。特别是下面的属性提供了错误信息:
status 如果远程调用失败则包含 -1。
data 包含服务器返回的 XML 格式的粗信息。这是调试的最好信息源,因为它包含了错误消息的完整文本以及服务器生成的其他消息。
message 包含 remote scripting 代理过程生成的错误消息信息(如果有的话)。message 中的错误消息不必要和 data 属性中的一样。例如,如果 ASP 页包含一条语法错误,那么关于该错误的详细消息将出现在 data 属性中,但消息属性将只包含这样一条消息──它指示用户不能调用 ASP 页上的方法。
下面的脚本示例了客户脚本中的一个错误回调函数。第一个脚本产生一个 remote scripting 调用,并指明错误回调函数。第二个脚本是错误回调函数本身。错误回调函数并不显式地对调用对象 status 属性值进行测试,因为该函数仅在调用失败时才被调用。