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


Elixir Kernel.reraise用法及代码示例


Elixir语言中 Kernel.reraise 相关用法介绍如下。

用法一

reraise(message, stacktrace)
(宏)

引发异常,保留先前的堆栈跟踪。

raise/1 一样工作,但不会生成新的堆栈跟踪。

请注意,__STACKTRACE__ 可以在 catch/rescue 中使用来检索当前的堆栈跟踪。

例子

try do
  raise "oops"
rescue
  exception ->
    reraise exception, __STACKTRACE__
end

用法二

reraise(exception, attributes, stacktrace)
(宏)

引发异常,保留先前的堆栈跟踪。

reraise/3 的工作方式与 reraise/2 类似,不同之处在于它将参数传递给 exception/1 函数,如 raise/2 中所述。

例子

try do
  raise "oops"
rescue
  exception ->
    reraise WrapperError, [exception: exception], __STACKTRACE__
end

相关用法


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