[erlang-questions] string:substr/2 gives confusing error message

Valentin Micic v@REDACTED
Fri Dec 5 12:32:30 CET 2008

I think that depends how you want to look at it...
One may argue that
	string:substr([], 2 )
does not make much sense as a statement, but then, I'd say that:
	string:substr("1", 2 )
does not make to much sense either, and yet it returns [].
IMO, both functions should behave the same way, and to be pragmatic, return
an empty list (not a badarg exception).


-----Original Message-----
From: erlang-questions-bounces@REDACTED
[mailto:erlang-questions-bounces@REDACTED] On Behalf Of Vlad Dumitrescu
Sent: 05 December 2008 12:12 PM
To: erlang-questions
Subject: [erlang-questions] string:substr/2 gives confusing error message


Calling string:substr/2 with erroneous arguments gives a
non-informative error message

(w@REDACTED)1> string:substr([], 2).
** exception error: no function clause matching string:substr2([],2)

Shouldn't it be badarg instead, or something similar?

Also, the strings module documentation doesn't mention what are the
cases when the function will fail. (A quick glance shows that there
are other functions in the same situation).

best regards,
erlang-questions mailing list

More information about the erlang-questions mailing list