Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to suppress the stacktrace that accompanies an error in the Julia REPL?

Is there a way to suppress the stacktrace that accompanies an error in the Julia REPL (VS Code specific methods acceptable)? It fills my screen with a lot of output that is not useful for me to fix the error, and I regularly must scroll up through it to find the useful, single, first line of error description, and find this inefficient and messy.

like image 849
userManyNumbers Avatar asked May 02 '20 00:05

userManyNumbers


1 Answers

Maybe not quite what you wanted, but it's close:

julia> # Sequence of dummy functions to generate long stack trace
       f() = g()
       g() = h()
       h() = k()
       k() = error("Hello world")
k (generic function with 2 methods)

julia> # Default: long stacktrace
       f()
ERROR: Hello world
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] k() at ./REPL[72]:5
 [3] h() at ./REPL[72]:4
 [4] g() at ./REPL[72]:3
 [5] f() at ./REPL[72]:2
 [6] top-level scope at REPL[73]:2

julia> # try/catch to eliminate stacktrace
       try
           f()
       catch e
           printstyled(stderr,"ERROR: ", bold=true, color=:red)
           printstyled(stderr,sprint(showerror,e), color=:light_red)
           println(stderr)
       end
ERROR: Hello world
like image 121
gTcV Avatar answered Sep 29 '22 07:09

gTcV