【问题标题】:What does omnifaces JNDI.lookup not have a checked exception for NamingException?什么omnifaces JNDI.lookup 没有NamingException 的检查异常?
【发布时间】:2015-06-30 13:54:28
【问题描述】:

我用 JNDI.lookup() 方法替换了我所有的 JNDI 查找,因为它看起来很方便,可以处理动态返回类型等。一切都很棒......但是现在我注意到我必须捕获的已检查异常以前的已经不存在了。

我认为这是因为如果 JNDI 变量不存在但它不存在,它只会返回 null。它现在只是抛出一个未经检查的异常。

知道为什么吗?有没有办法只为不存在的变量返回 null?

我在 omnifaces 网站上为此创建了一个错误:https://github.com/omnifaces/omnifaces/issues/141

不确定这是否是预期行为。

【问题讨论】:

    标签: jsf glassfish jndi omnifaces


    【解决方案1】:

    有没有办法只为不存在的变量返回 null?

    它对NameNotFoundException 执行此操作。问题不在 OmniFaces 中,而在环境中,在您的特定情况下是 GlassFish 4.1。它意外地将NameNotFoundException 包裹在另一个NamingException 中,从而导致底层NameNotFoundException 滑过并绕过return null 条件。

    这已在Exceptions#is() 实用程序方法的帮助下根据this comment 修复。它将在 OmniFaces 2.2 中可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      • 2012-07-17
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多