I think it is worthless work add exception raise as last clause on each function when this error occurred in same function. Different thing is when bad argument raise exception in some subtle internal function and worse when it is other type than function_clause. function_clause means there is not any clause which match to your parameters and is synonymous to badarg for me. Adding exception raise in this case is typical defensive programming and it is not good practice in Erlang except pattern match with tagging.<br>
<br><div class="gmail_quote">On Fri, Dec 5, 2008 at 11:12 AM, Vlad Dumitrescu <span dir="ltr"><<a href="mailto:vladdu55@gmail.com">vladdu55@gmail.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;">
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>
</blockquote></div><br><br clear="all"><br>-- <br>--Hynek (Pichi) Vychodil<br>