Skip to content

aviator 短路模式在调试模式下失效 #684

@lonelystone545

Description

@lonelystone545

@Test public void testReject() { String av = "let aa=nil;return aa !=nil && string.length(aa) > 0;"; Object obj = riskAviatorEvaluator.execute(av, new Context()); System.out.println("-------------" + GsonUtilWithToNumberPolicy.obj2jsonStr(obj)); System.out.println(RiskAviatorTraceEvaluator.newInstance().execute(av, new Context())); }
上面是执行的一段代码,输出结果如下:

Image

可见在非调试模式下,执行结果false符合预期,但是在调试模式下会报空指针异常,看起来短路模式失效了,执行了string.length(aa)这个语句。想问一下是特地这样设计的么?原因是什么

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions