gpt4 book ai didi

java - 在 finally block 中恢复保存的值?

转载 作者:行者123 更新时间:2023-12-03 20:27:32 25 4
gpt4 key购买 nike

我现在已经在几个不同的地方看到过这种模式,但我不确定它的确切用途或为什么需要它。鉴于我在优质项目中见过它,我确信它很有用,但我更想了解它而不是盲目地遵循它。我在 Servlet 过滤器和 Struts2 拦截器(在概念上与过滤器非常相似)中特别看到了这种模式。

这是来自 Google Guice (Servlet) 3.0 的示例:

Context previous = localContext.get();

try {
localContext.set(new Context((HttpServletRequest) servletRequest,
(HttpServletResponse) servletResponse));

//dispatch across the servlet pipeline, ensuring web.xml's filterchain is honored
filterPipeline.dispatch(servletRequest, servletResponse, filterChain);
} finally {
localContext.set(previous);
}

恢复 finally block 中的值有什么需要或好处?

最佳答案

它基本上是一种将更改范围限定在 try block 中的方法。无论该 block 是否成功执行,您都知道一旦退出,您就已将值恢复为进入时的值。

关于java - 在 finally block 中恢复保存的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4741144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com