Haskell YesSOD.Core.Class.YesSOD中存在语法错误

Haskell YesSOD.Core.Class.YesSOD中存在语法错误,haskell,yesod,Haskell,Yesod,我有一个YesODWeb应用程序,它调用另一台服务器上的web服务。我重用YesSOD中的Http管理器来处理对该web服务的请求。 在一些调用中,我收到一个YesSOD错误,我不确定YesSOD错误处理程序为什么会出现,因为错误处理不是管理器的一部分。 我的代码对HTTP响应执行自己的状态处理(我对请求执行let req'=req{H.checkStatus=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\->Nothing}) 我得到的错误是: 07/Jun/2013:14:0

我有一个YesODWeb应用程序,它调用另一台服务器上的web服务。我重用YesSOD中的Http管理器来处理对该web服务的请求。 在一些调用中,我收到一个YesSOD错误,我不确定YesSOD错误处理程序为什么会出现,因为错误处理不是管理器的一部分。 我的代码对HTTP响应执行自己的状态处理(我对请求执行
let req'=req{H.checkStatus=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\->Nothing}

我得到的错误是:

07/Jun/2013:14:05:15 +0200 [Error#yesod-core] ParseError {errorContexts = [], errorMessage = "Failed reading: satisfy", errorPosition = 1:1} @(yesod-core-1.2.0.4:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:471:5)
我有一个明显的印象,web服务返回一个错误,Yesod正在处理它,而不是我的代码。我的web服务客户机代码抛出异常,这些异常被捕获并重定向到错误页面,当我在服务调用中出错时,这种情况很好,我只是不明白为什么在某些请求中会出现这种错误

我正在转储从web服务获得的请求和响应,但我从未在日志中看到响应,这似乎表明yesod正在拦截响应


有什么想法吗?

好的,很抱歉我问了个愚蠢的问题,我已经弄明白了。http管道代码抛出了ParseError,而我的代码没有捕捉到它,所以Yesod在呕吐。如果我发现了这个错误,我会得到我的错误页面。现在,http管道出现如此突然的消息而失败是正常的吗,我不知道,但我确实认为web服务行为不端。

这看起来像是一条ATOPASSEC错误消息。您是否正在使用aeson解析无效的json数据?是的,web服务本来应该发回json,但在某些情况下没有,因此发送了一个parseerror,但从未捕获到。我添加了一个陷阱,一切都很好。