You are right, but it means not change behavior from raise function_clause to raise badarg but change from raise function_clause to return empty list. It is worth decision but you change API with all consequents. I think you agree that change to raise badarg is not solution :-)<br>
<br><div class="gmail_quote">On Fri, Dec 5, 2008 at 12:32 PM, Valentin Micic <span dir="ltr"><<a href="mailto:v@pharos-avantgard.com">v@pharos-avantgard.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I think that depends how you want to look at it...<br>
One may argue that<br>
        string:substr([], 2 )<br>
does not make much sense as a statement, but then, I'd say that:<br>
        string:substr("1", 2 )<br>
does not make to much sense either, and yet it returns [].<br>
IMO, both functions should behave the same way, and to be pragmatic, return<br>
an empty list (not a badarg exception).<br>
<font color="#888888"><br>
V.<br>
</font><div><div></div><div class="Wj3C7c"><br>
<br>
-----Original Message-----<br>
From: <a href="mailto:erlang-questions-bounces@erlang.org">erlang-questions-bounces@erlang.org</a><br>
[mailto:<a href="mailto:erlang-questions-bounces@erlang.org">erlang-questions-bounces@erlang.org</a>] On Behalf Of Vlad Dumitrescu<br>
Sent: 05 December 2008 12:12 PM<br>
To: erlang-questions<br>
Subject: [erlang-questions] string:substr/2 gives confusing error message<br>
<br>
Hi!<br>
<br>
Calling string:substr/2 with erroneous arguments gives a<br>
non-informative error message<br>
<br>
(w@EV001B784AC0A2)1> string:substr([], 2).<br>
** exception error: no function clause matching string:substr2([],2)<br>
<br>
Shouldn't it be badarg instead, or something similar?<br>
<br>
Also, the strings module documentation doesn't mention what are the<br>
cases when the function will fail. (A quick glance shows that there<br>
are other functions in the same situation).<br>
<br>
best regards,<br>
Vlad<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>--Hynek (Pichi) Vychodil<br>