应该什么时候parse()抛出一个错误?

时间:2014-12-11 17:47:34

标签: julia

我正在以交互方式运行:

Julia Version 0.4.0-dev+1903
Commit 6b0fcce (2014-11-30 18:08 UTC)

来自Base.parse的文档:

http://julia.readthedocs.org/en/latest/stdlib/base/?highlight=parse#Base.parse

我读到了这个:

  

如果raise为true(默认值),语法错误将引发错误;   否则,parse将返回一个会引发错误的表达式   经过评估。

当我这样做时,它的工作原理如下:

julia> parse("end")
ERROR: ParseError("unexpected end")

但不是在我这样做的时候:

julia> parse("println(")
:($(Expr(:incomplete, "incomplete: premature end of input")))
julia> eval(ans)
ERROR: syntax: incomplete: premature end of input

这是预期的行为吗? parse()应该在第二种情况下抛出错误,还是应该等到eval()

1 个答案:

答案 0 :(得分:1)

在这种情况下,Parse应该引发错误。根据Simon Byrne的评论,我发布了一个GitHub问题,该问题已经有拉动请求等待关闭它:https://github.com/JuliaLang/julia/pull/9514/

谢谢大家!