File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed
Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -62,6 +62,15 @@ defmodule System do
6262 in the Erlang docs.
6363 """
6464
65+ defmodule EnvError do
66+ defexception [ :env ]
67+
68+ @ impl true
69+ def message ( % { env: env } ) do
70+ "could not fetch environment variable #{ inspect ( env ) } because it is not set"
71+ end
72+ end
73+
6574 @ typedoc """
6675 The time unit to be passed to functions like `monotonic_time/1` and others.
6776
@@ -694,9 +703,7 @@ defmodule System do
694703 @ doc since: "1.9.0"
695704 @ spec fetch_env! ( String . t ( ) ) :: String . t ( )
696705 def fetch_env! ( varname ) when is_binary ( varname ) do
697- get_env ( varname ) ||
698- raise ArgumentError ,
699- "could not fetch environment variable #{ inspect ( varname ) } because it is not set"
706+ get_env ( varname ) || raise ( EnvError , env: varname )
700707 end
701708
702709 @ doc """
Original file line number Diff line number Diff line change @@ -56,7 +56,7 @@ defmodule SystemTest do
5656 assert System . fetch_env ( @ test_var ) == :error
5757
5858 message = "could not fetch environment variable #{ inspect ( @ test_var ) } because it is not set"
59- assert_raise ArgumentError , message , fn -> System . fetch_env! ( @ test_var ) end
59+ assert_raise System.EnvError , message , fn -> System . fetch_env! ( @ test_var ) end
6060
6161 System . put_env ( @ test_var , "SAMPLE" )
6262
You can’t perform that action at this time.
0 commit comments