当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang format_exception(Class, Reason, StackTrace)用法及代码示例


format_exception(Class, Reason, StackTrace) -> unicode:chardata()
OTP 24.0
format_exception(Class, Reason, StackTrace, Options) ->
 unicode:chardata()
OTP 24.0
类型:
Class = error | exit | throw
Reason = term()
StackTrace = erlang:stacktrace()
Options = format_options()

格式化错误原因并使用 try ... catch 捕获的堆栈 back-trace,其样式与 shell 格式化它们的样式相同。

例子:

try
    do_something()
catch
    C:R:Stk ->
        Message = erl_error:format_exception(C, R, Stk),
        io:format(LogFile, "~ts\n", [Message])
end

如果 error_info 提供了异常,format_exception 将使用该信息来提供有关异常的附加信息。

例子:

try
  erlang:raise(badarg,[],[{error_info,#{}}])
catch
    C:R:Stk ->
        Message = erl_error:format_exception(C, R, Stk),
        io:format(LogFile, "~ts\n", [Message])
end

参看erlang:error/3有关如何引发异常的详细信息error_info包括。

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 format_exception(Class, Reason, StackTrace) -> unicode:chardata()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。