gpt4 book ai didi

exception - 捕获异常后如何在 erlang 中编写异常堆栈跟踪?

转载 作者:行者123 更新时间:2023-12-02 20:05:38 26 4
gpt4 key购买 nike

假设我有这样的东西:

try code_that_fails()
catch _:_ -> .....

如何在 catch block 中打印堆栈跟踪?该 block 捕获所有异常,但我不知道如何打印堆栈...

你能帮我吗?

最佳答案

从 Erlang 21.0 开始,有一种新的官方方法来获取堆栈跟踪。 try expression 中的可选模式匹配异常中的第三个参数,其中将包含堆栈跟踪:

try
code_that_fails()
catch
_:_:Stacktrace ->
erlang:display(Stacktrace)
end

旧版本(OTP 20 及以下)

对于 Erlang/OTP 20 及以下版本,您需要使用 get_stacktrace/0 ,它允许您获取调用过程中最后一个异常的堆栈跟踪:

try
code_that_fails()
catch
_:_ ->
erlang:display(erlang:get_stacktrace())
end

关于exception - 捕获异常后如何在 erlang 中编写异常堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1335758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com