gpt4 book ai didi

java - Freemarker中如何处理Java抛出的异常?

转载 作者:行者123 更新时间:2023-12-01 09:09:45 25 4
gpt4 key购买 nike

我有一个 Java 函数,比如 method1(),它会在某些条件(比如条件 A)下引发异常。我正在从满足条件 A 的 FTL 文件中调用该函数。现在我在 FTL 中收到一个模板错误,说上面的函数抛出了异常。就像我们在 Java 中使用 try-catch 处理异常一样,我希望在我的 FTL 中实现类似的功能。

这与我的 FTL 代码类似。

<#-- @ftlvariable name="someUtilClass" type="com.some.package.SomeUtilClass" -->

<#attempt>
<#assign x = someUtilClass.method1() />
<#recover>
<#assign x = '' />
</#recover>

我使用的是 Freemarker 2.3.20。

谢谢。

最佳答案

您不应该在模板中处理异常,除非我们将 #attempt-#recover 计算在内,否则没有模板语言功能可以实现这一点。

#attempt-#recover开始,它确实捕获了异常(我假设),所以我不确定当你说它不是时你的意思在职的。但是,如果抛出该异常是正常操作的一部分,则它不会是一个合适的解决方案,因为它会在允许模板处理继续之前将其记录为错误。它还捕获所有类型的异常,而不仅仅是您通常期望的异常。它适用于故障场景,您不希望仅仅因为某些面板背后的服务出现故障而导致整个页面关闭。

关于java - Freemarker中如何处理Java抛出的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40991762/

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