【发布时间】:2011-06-02 20:59:37
【问题描述】:
伙计们。我正在使用 ajax 通过 php 加载一堆数据。有时异常会未被发现。这会生成一些 javascript 无法解析的错误消息(因为它需要 json)。这会使页面崩溃,这并不酷。所以我正在构建一个自定义异常处理程序。基本上它应该只是 json_encode 异常对象。但 json 仅适用于 stdClass 类型的对象。所以这是实际的问题:
如何将异常对象转换为 stdClass,以便我可以对其进行 json_encode?我已经尝试了所有我能想到的幼稚的东西,比如
(stdClass) $ex 和 (Object) ((Array) $ex)
是的,我知道异常不应该从一开始就被捕获,但它更像是一种开发功能。它使调试不那么痛苦;-)
谢谢!
【问题讨论】:
-
我认为正确的方法是捕获异常并使用它来构建您的返回对象。让 JSON 对其进行编码并将其传递回客户端。
-
json_encode可以编码任何对象。它不适用于Exception,因为Exception没有任何公共变量。但是您可以在异常处理程序中创建自己的类/数组并将其输出到浏览器。 -
是的,你现在完全正确 ;-)
标签: php javascript ajax json exception