при вызове несуществующей функции модуля падает вся инфраструктура.
Подскажите, как с этим бороться. Не хочется чтобы из-за опечатки в названии метода исчезали все данные на ноде
Пример:
> T1 = ets_test:gentable(5).
16
> ets:match(T1, '$1').
[[{{428,98},{value,3}}],
[{{550,93},{value,1}}],
[{{555,7},{value,2}}],
[{{645,54},{value,5}}],
[{{930,30},{value,4}}]]
> ets_test:zxczxczxc().
** exited: {undef,[{ets_test,zxczxczxc,[]},
{erl_eval,do_apply,5},
{shell,exprs,6},
{shell,eval_loop,3}]} **
=ERROR REPORT==== 27-Jan-2010::18:37:36 ===
Error in process <0.39.0> with exit value: {undef,[{ets_test,zxczxczxc,[]},{erl_eval,do_apply,5},{shell,exprs,6},{shell,eval_loop,3}]}
После этого уже не работает (((
> ets:match(T1, '$1').
** exited: {badarg,[{ets,match,[16,'$1']},
{erl_eval,do_apply,5},
{shell,exprs,6},
{shell,eval_loop,3}]} **
=ERROR REPORT==== 27-Jan-2010::18:37:38 ===
Error in process <0.44.0> with exit value: {badarg,[{ets,match,[16,'$1']},{erl_eval,do_apply,5},{shell,exprs,6},{shell,eval_loop,3}]}
--ets_test.erl--------------------------------
-module(ets_test).
-compile([export_all]).
gentable(N)->
T1 = ets:new(tbl, [ordered_set, public]),
lists:foreach( fun(A)-> ets:insert(T1, {{random:uniform(1000), random:uniform(100)}, {value, A} }) end, lists:seq(1, N)),
T1.
