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


Elixir Kernel.raise用法及代码示例


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

用法一

raise(message)
(宏)

引发异常。

如果 message 是一个字符串,它会引发 RuntimeError 异常。

如果message 是一个原子,它只是调用 raise/2 ,原子作为第一个参数,[] 作为第二个参数。

如果 message 是一个异常结构,则按原样引发。

如果 message 是其他内容,则 raise 将失败并出现 ArgumentError 异常。

例子

iex> raise "oops"
** (RuntimeError) oops

try do
  1 + :foo
rescue
  x in [ArithmeticError] ->
    IO.puts("that was expected")
    raise x
end

用法二

raise(exception, attributes)
(宏)

引发异常。

在给定参数(必须是模块名称,如 ArgumentError RuntimeError )上调用 exception/1 函数,传递 attributes 以检索异常结构。

任何包含对 defexception/1 宏的调用的模块都会自动实现 raise/2 预期的 Exception.exception/1 回调。有关详细信息,请参阅 defexception/1

例子

iex> raise(ArgumentError, "Sample")
** (ArgumentError) Sample

相关用法


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