[英]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)?有没有办法抑制 Julia REPL 中伴随错误的堆栈跟踪(可接受 VS 代码特定方法)? 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.它用很多 output 填满我的屏幕,这对我修复错误没有用处,我必须经常向上滚动以找到有用的、单一的、第一行错误描述,并发现这效率低下且混乱。
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
VS Code specific solution VS Code 具体解决方案
Installing the "Julia Insiders" extension instead of the regular "Julia" extension solves this issue, as explained here .安装“Julia Insiders”扩展而不是常规的“Julia”扩展可以解决这个问题, 如here所述。
I can see the fix is merged into the main branch but for some reason it hasn't made its way into the regular extension.我可以看到该修复程序已合并到主分支中,但由于某种原因,它还没有进入常规扩展程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.