在Erlang中处理badarg

维奈·塞尼(Vinay Saini)

我对Erlang非常陌生,当我尝试将二进制转换为字符串时,出现badarg错误,如下所示。

Prefix = binary:bin_to_list(wh_json:get_ne_value(<<"prefix">>, Patterns)),

在哪里Patterns

Pattern1--> {[{<<"prefix">>,<<>>},{<<"callerId">>,<<"1001">>},{<<"cid_regex">>,<<"^\\+?1001">>}]}

Pattern2--> {[{<<"prefix">>,<<"12">>},{<<"callerId">>,<<"1001">>},{<<"cid_regex">>,<<"^\\+?1001">>}]}

因为Pattern2它可以正常工作,但是Pattern1因为前缀中没有任何值,所以我收到此错误Pattern1

因此,任何人都可以告诉我如何处理前缀值可以是null或任何值的情况,这对两种情况都适用。

乐高积木

致电前检查是否wh_json:get_ne_value返回undefinedbinary:bin_to_list

Prefix =
    case wh_json:get_ne_value(<<"prefix">>, Patterns) of
        undefined ->
            prefix_not_found;
        BinaryPrefix when is_binary(BinaryPrefix) ->
            binary:bin_to_list(BinaryPrefix)
    end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章