I am writing a program where I have to convert a string to an integer. If the conversion passes then the program should simply print true
else false
.
defp range([head | tail]) do
integer = String.to_integer(head) # line 19
cond do
integer >= 0 and integer <= 255 ->
range(tail)
integer < 0 or integer > 255 ->
false
end
end
In this program when I try to enter the string that is integers then it works fine. for example
Solution.is_valid_ip("123.42.123.33")
true
but when I insert any character then it shows an error. Is there any way that I can just print out false except the error message.
Solution.is_valid_ip("123.a42.77.34")
** (ArgumentError) argument error
:erlang.binary_to_integer("a42")
ip.ex:19: Solution.range/1