2016-02-01 206 views
2

是否可以通過try using一個包?如何捕捉「使用mypackage」的異常?

try 
    using A 
catch e 
    showerror(STDOUT, e) 
end 

unsupported or misplaced expression using 

我期待看到錯誤消息像

using A 
LoadError: ArgumentError: A not found in path 
+1

'using'只允許在頂級範圍。解決方法是使用'eval(:(使用A))'而不是'使用A',然後'try'按預期工作。區別來自'eval',它評估頂級範圍中的表達式。 –

+0

@ user3580870它運作良好thx。 – colinfang

回答

1

using只允許在頂層範圍。解決方法可以使用eval(:(using A))而不是using A,然後try-catch按預期工作。

區別來自於使用eval來評估其頂級作用域中的表達式參數。

julia> try 
      eval(:(using A)) 
     catch e 
      showerror(STDOUT, e) 
     end 
ArgumentError: A not found in path