使用Elixir's typespecs,如何在@spec
中记录函数可能引发异常而不是返回值?
答案 0 :(得分:10)
no_return
no_return
(listed in the Typespecs docs)应该用来记录函数何时加注。
例如:
@spec get_env!(var_name :: String.t()) :: String.t() | no_return
def get_env!(var_name) do
System.get_env(var_name) || raise "#{var_name} is not set!"
end