How to handle error inside Enum.each

Inside the Enum.each/2 function, you could insert a case statement?

Enum.each(urls, fn url ->
  case try_parse_url(url) do
    url -> url
    {:error, unprocessed_url -> append_to_the_list_of_unprocessed_urls(unprocessed_url)
end)

where the function try_parse_url/1 do some kind of pattern matching against a binary string to check if it is a proper URL or not and if not, then the unprocessed URL is appended to some kind of list.

What do you think?