3

在某些错误情况下,我想重定向到 Home 控制器,但我想确保我不会进入“重定向”循环(每次都会生成一个异常,导致另一个重定向)。做这个的最好方式是什么?

4

3 回答 3

3

听起来您正在寻求解决停止问题的方法(即“我想在异常时重定向到自我,但如果后续调用总是会抛出异常”)。

除非在该领域实施研究(虽然无法解决停机问题,但您可以通过一定的分析消除很多情况)我会说您最好的选择是做 Firefox 正在做的事情 - 数一数有多少自重定向已经发生,如果超过一定数量则停止重定向。

执行此操作的一种方法可能是包含一个随着每个后续“异常抛出重定向”而递增的参数,并在决定是否重定向时与此参数进行比较。

于 2010-06-11T07:30:17.637 回答
1

好吧,停止递归的一般方法是使用停止案例。在您的示例中,无论重定向做什么,都可以查看其引荐来源网址,并确保它不会尝试“重定向”到引荐来源网址。

于 2010-01-21T19:59:25.977 回答
0

简短的回答是不要重定向到家庭控制器。

而是重定向到静态错误消息页面。

这将更清洁,更稳定。

于 2012-07-26T11:20:02.090 回答