當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。