Exception 如何全局处理YesSOD中所有处理程序的异常?

Exception 如何全局处理YesSOD中所有处理程序的异常?,exception,haskell,error-handling,yesod,Exception,Haskell,Error Handling,Yesod,我在defaultLayout中有一些共享逻辑,它可能会随机失败并引发异常,我希望在一个地方处理它,不管当前正在执行哪个处理程序 是否有一个地方可以处理任何与请求相关的异常,并且仍然可能响应用户?(重定向或错误页面或其他内容) 编辑:如果可能的话,我希望能够区分不同的异常,并选择只处理某些异常而忽略其他异常。您可以通过编写自定义的中间件并将其链接到您的YesDoddleware实例化中来实现这一点,我以前从未使用过它,但Yesod类型类的函数听起来很合适,并提供了一个示例。

我在
defaultLayout
中有一些共享逻辑,它可能会随机失败并引发异常,我希望在一个地方处理它,不管当前正在执行哪个处理程序

是否有一个地方可以处理任何与请求相关的异常,并且仍然可能响应用户?(重定向或错误页面或其他内容)


编辑:如果可能的话,我希望能够区分不同的异常,并选择只处理某些异常而忽略其他异常。

您可以通过编写自定义的
中间件
并将其链接到您的
YesDoddleware

实例化中来实现这一点,我以前从未使用过它,但Yesod类型类的函数听起来很合适,并提供了一个示例。