【发布时间】:2010-11-01 03:51:05
【问题描述】:
我有一个页面方法,我从我的 JavaScript 调用它 说
Pagemethods.MyMethod(MyParameter, onsucess, onfailure);
在后面的代码中,我有这样的东西:
[WebMethod]
public static void MyMethod(Param)
{
try{
//DoSomething..
}
catch(exception ex)
{
//Log the exception and rethrow
throw new exception(ex.innerexception);
}
}
现在我面临的问题是:
每当我遇到异常时, 我重新从后面的代码中抛出异常
但在 onfailure 方法中,我只收到一条通用消息,说 “服务器方法 MyMethod 失败,出现以下错误:”
我似乎没有得到异常详细信息,只有一般异常,
如何获取 JavaScript 的异常详细信息,以便根据 UI/JavaScript 端进行处理。
我已验证,web.config 中的自定义错误设置不是问题。
有人能告诉我这里发生了什么吗?
PS:我已经遍历了每一行代码,记录后的异常会重新抛出正确的异常详细信息,即消息。
【问题讨论】:
-
你的异常处理很糟糕。记录异常后,只需使用
throw;。您的代码正在破坏堆栈跟踪,并丢失异常详细信息。
标签: web-services exception asp.net-ajax asmx pagemethods