новости сообщество форум вики
Erlang по-русски. Форум » Erlang »

Странное поведение системы ( падает инфраструктура )

(4 posts)

  1. при вызове несуществующей функции модуля падает вся инфраструктура.
    Подскажите, как с этим бороться. Не хочется чтобы из-за опечатки в названии метода исчезали все данные на ноде
    Пример:

    > 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.

    Отправлено 2 года(лет) назад #
  2. Относительно недавно было в IRC. В этом случае падает и перезагружается нода.

    Для того, чтобы тестить ets, надо все оборачивать в try/catch'и. Сейчас точнее уже не вспомню, к сожалению

    Отправлено 2 года(лет) назад #
  3. Forest33
    Участник

    case (catch ets_test:zxczxczxc()) of
    {'EXIT', _} -> error;
    Res -> Res
    end

    может так

    Отправлено 2 года(лет) назад #
  4. Спасибо!!! Работает.
    Даже достаточно:
    (catch ets_test:zxczxczxc()).

    Отправлено 2 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.

 
 

так же

Популярные тэги



Currently online

No Members around.

twitter