Из finally
раздела здесь: http://docs.julialang.org/en/release-0.4/manual/control-flow/#finally-clauses, они используют этот пример:Почему, наконец, блокируется ошибка?
f = open("file")
try
# operate on file f
finally
close(f)
end
Когда я бегу аналогичный код в РЕПЛ, это происходит:
julia> f = open("myfile.txt")
IOStream(<file myfile.txt>)
julia> try
sqrt(-10)
finally
close(f)
end
ERROR: DomainError:
[inlined code] from none:2
in anonymous at no file:0
Любая идея какая разница?
Так почему я получу ошибку? Я предполагаю, что это вводит в заблуждение, поскольку похоже, что это имеет какое-то отношение к открытому файлу, но на самом деле о sqrt (-1)? – 4thSpace
Да, точно. 'sqrt (-1)' является 'DomainError', потому что' sqrt' возвращает 'Float64'. Код будет работать нормально, если бы это было 'sqrt (-1 + 0im)'. –