【问题标题】:Throwing null pointer exception when accessing property of the domain object访问域对象的属性时抛出空指针异常
【发布时间】:2015-07-08 17:44:54
【问题描述】:

在控制器内部,我只测试这两行。 RaceRegistration 域有一个compositeEvent 属性。所以,我先访问注册域,然后使用 .compositeEvent 访问复合事件。

println (RaceRegistration.get(r.toLong()))
println (RaceRegistration.get(r.toLong())).compositeEvent

抛出以下错误。如您所见,第一次打印成功,即它获得了注册域,但第二次 println 失败。我的问题是,当我们确定 RaceRegistration 域已成功访问时,为什么它会抛出空指针。

com.runnercard.registration.RaceRegistration : 8
ERROR errors.GrailsExceptionResolver: NullPointerException occurred when processing request: [POST] /roadrace/message/sendEmail - parameters:

感谢您的帮助。谢谢!

【问题讨论】:

    标签: grails


    【解决方案1】:

    Null 为空。不要怀疑:这是真的。

    'void'println 表达式的计算结果为 null,失败的代码大致相当于以下内容:

    x = println (RaceRegistration.get(r.toLong()))
    // x is null - so the following results in a NullPointerException
    x.compositeEvent
    

    很可能括号只是在错误的位置(or even over-specified):

    println (RaceRegistration.get(r.toLong()).compositeEvent)
    // -or
    println RaceRegistration.get(r.toLong()).compositeEvent
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 2020-11-22
      • 2020-08-10
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多