我最近在尝试读取elixir中的文件时出现以下错误.
iex()> File.read("no_existant_file.csv")
{:error, :enoent}
Run Code Online (Sandbox Code Playgroud)
幸运的是,我知道"enoent"意味着什么,并很快意识到这是因为我的文件名中有一个拼写错误.一旦我修复了这一切,一切按预期工作.
但是,这让我想知道是否有办法将此错误消息更改为更可能向最终用户显示的"人性化"消息?
我在这个问题中遇到的函数是erlang函数:file.format_error.
使用上面的例子
iex()> {:error, error_msg} = File.read("no_existant_file.csv")
{:error, :enoent}
iex()> error_msg
:enoent
iex()> :file.format_error(error_msg)
'no such file or directory'
Run Code Online (Sandbox Code Playgroud)
使用:file.format_error/1我们可以看到错误现在更加用户友好