Nice. Thanks! >> Yes, I was using that, but it is not very clean. It gives the wrong >> impression that an error happened (which in many cases it is probably >> true, but not always) plus it prints the call stack at the point of the >> error. If error() could be told to be silent, it would be almost >> perfect. Anyway, a minor thing. > > immutable Stop <: Exception end > > function run_task(f) > try f() > catch e > if isa(e, Stop) > println("Your program was gracefully terminated.") > else > rethrow() > end > end > end > > function f() > throw(Stop()) > end > > function g() > f() > end > > julia> run_task() do > g() > end > Your program was gracefully terminated. > > julia> run_task() do > error("This is bad.") > end > ERROR: This is bad. > in run_task(::##84#85) at ./REPL[167]:2 >
-- Ángel de Vicente http://www.iac.es/galeria/angelv/