【发布时间】:2023-03-27 07:45:01
【问题描述】:
我有一个 WCF REST 项目,我想捕捉 WCF 框架抛出的错误并以我的方式显示它们(即 JSON)。
例如,如果我在调用中期待一个 int 参数并且我得到一个字符串,那么框架将显示一个带有“请求错误”和一些跟踪信息的页面......我只想得到异常并以我的 JSON 格式显示为对用户的响应。
只是为了让这一点更清楚 - 我不想在代码中捕获异常,而是在代码之外发生异常。 WCF 会自己生成的异常,例如(当我将字符串传递到 int 字段时)
服务器在处理请求时遇到错误。请参阅服务帮助页面以构建对服务的有效请求。异常消息是“输入字符串的格式不正确。”。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪是:...
有什么想法可以做到这一点吗?
提前非常感谢!
【问题讨论】:
-
我不明白...您是在问如何捕获异常,或者如何在 ASP 中显示“漂亮”的错误页面?请更好地标记您的问题。
-
你是对的。我添加了一点解释
-
异常通过 WCF 传递...如果您在 WCF 服务中抛出异常,您可以在客户端代码中捕获它。我还是不明白这里的问题是什么。
-
这不是我抛出的异常。这是 WCF 抛出的异常(例如参数错误) - 我想捕获它并返回我自己的结果,而不是它返回的默认 WCF 错误(甚至在它到达我的代码之前,所以我可以捕获它)跨度>
-
您应该在您的服务方法中进行自己的验证或尝试/捕获,以便您可以准确控制抛出的异常(如果有),然后您可以正确编码您的客户端。 -- 那,或者您可以使用 try/catch 将您的 WCF 调用包装在您的客户端中并打印出一个通用的“漂亮”错误消息。但听起来你没有做一些验证或其他你应该做的事情。