[erlang-questions] How do I elegantly check many conditions?

Paul Fisher <>
Fri Mar 20 15:34:15 CET 2009


Hynek Vychodil wrote:
> One of Joe's suggestion: program success case code separated from error 
> handling. You can make it in this way
> 
> create_user(Email, UserName, Password) ->
>   try
>     ok = new_email(Email),
>     ok = valid_user_name(UserName),
>     ok = new_user(UserName),
>     ok = strong_password(Password),
>     ...
>     _create_user(Email, UserName, Password)
>   catch
>     error:{badmatch, email_in_use} -> do_something();
>     error:{badmatch, invalid_user_name} -> do_something();
>     error:{badmatch, user_exists} -> do_something();
>     error:{badmatch, weak_password} -> do_something();
>     ...
>   end.

+1 Bravo!


--
paul




More information about the erlang-questions mailing list