Browse Source

more helpful exceptions, applied to gproc_dist

Ulf Wiger 13 years ago
parent
commit
51e0404eb4
1 changed files with 13 additions and 12 deletions
  1. 13 12
      src/gproc_dist.erl

+ 13 - 12
src/gproc_dist.erl

@@ -53,6 +53,7 @@
          code_change/4,
          code_change/4,
          terminate/2]).
          terminate/2]).
 
 
+-include("gproc_int.hrl").
 -include("gproc.hrl").
 -include("gproc.hrl").
 
 
 -define(SERVER, ?MODULE).
 -define(SERVER, ?MODULE).
@@ -98,45 +99,45 @@ reg({_,g,_} = Key, Value) ->
     %% anything global
     %% anything global
     leader_call({reg, Key, Value, self()});
     leader_call({reg, Key, Value, self()});
 reg(_, _) ->
 reg(_, _) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 reg_shared({_,g,_} = Key, Value) ->
 reg_shared({_,g,_} = Key, Value) ->
     leader_call({reg, Key, Value, shared});
     leader_call({reg, Key, Value, shared});
 reg_shared(_, _) ->
 reg_shared(_, _) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 
 
 mreg(T, KVL) ->
 mreg(T, KVL) ->
     if is_list(KVL) -> leader_call({mreg, T, g, KVL, self()});
     if is_list(KVL) -> leader_call({mreg, T, g, KVL, self()});
-       true -> erlang:error(badarg)
+       true -> ?THROW(badarg)
     end.
     end.
 
 
 munreg(T, Keys) ->
 munreg(T, Keys) ->
     if is_list(Keys) -> leader_call({munreg, T, g, Keys, self()});
     if is_list(Keys) -> leader_call({munreg, T, g, Keys, self()});
-       true -> erlang:error(badarg)
+       true -> ?THROW(badarg)
     end.
     end.
 
 
 unreg({_,g,_} = Key) ->
 unreg({_,g,_} = Key) ->
     leader_call({unreg, Key, self()});
     leader_call({unreg, Key, self()});
 unreg(_) ->
 unreg(_) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 unreg_shared({T,g,_} = Key) when T==c; T==a ->
 unreg_shared({T,g,_} = Key) when T==c; T==a ->
     leader_call({unreg, Key, shared});
     leader_call({unreg, Key, shared});
 unreg_shared(_) ->
 unreg_shared(_) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 
 
 set_value({T,g,_} = Key, Value) when T==a; T==c ->
 set_value({T,g,_} = Key, Value) when T==a; T==c ->
     if is_integer(Value) ->
     if is_integer(Value) ->
             leader_call({set, Key, Value});
             leader_call({set, Key, Value});
        true ->
        true ->
-            erlang:error(badarg)
+            ?THROW(badarg)
     end;
     end;
 set_value({_,g,_} = Key, Value) ->
 set_value({_,g,_} = Key, Value) ->
     leader_call({set, Key, Value, self()});
     leader_call({set, Key, Value, self()});
 set_value(_, _) ->
 set_value(_, _) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 give_away({_,g,_} = Key, To) ->
 give_away({_,g,_} = Key, To) ->
     leader_call({give_away, Key, To, self()}).
     leader_call({give_away, Key, To, self()}).
@@ -145,18 +146,18 @@ give_away({_,g,_} = Key, To) ->
 update_counter({c,g,_} = Key, Incr) when is_integer(Incr) ->
 update_counter({c,g,_} = Key, Incr) when is_integer(Incr) ->
     leader_call({update_counter, Key, Incr, self()});
     leader_call({update_counter, Key, Incr, self()});
 update_counter(_, _) ->
 update_counter(_, _) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 update_shared_counter({c,g,_} = Key, Incr) when is_integer(Incr) ->
 update_shared_counter({c,g,_} = Key, Incr) when is_integer(Incr) ->
     leader_call({update_counter, Key, Incr, shared});
     leader_call({update_counter, Key, Incr, shared});
 update_shared_counter(_, _) ->
 update_shared_counter(_, _) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 
 
 reset_counter({c,g,_} = Key) ->
 reset_counter({c,g,_} = Key) ->
     leader_call({reset_counter, Key, self()});
     leader_call({reset_counter, Key, self()});
 reset_counter(_) ->
 reset_counter(_) ->
-    erlang:error(badarg).
+    ?THROW(badarg).
 
 
 
 
 %% @spec sync() -> true
 %% @spec sync() -> true
@@ -578,7 +579,7 @@ ets_key(K, Pid) ->
 
 
 leader_call(Req) ->
 leader_call(Req) ->
     case gen_leader:leader_call(?MODULE, Req) of
     case gen_leader:leader_call(?MODULE, Req) of
-        badarg -> erlang:error(badarg, Req);
+        badarg -> ?THROW(badarg);
         Reply  -> Reply
         Reply  -> Reply
     end.
     end.