Cannot use exceptions to throw too many things around
Wrap functions in a try catch block
Return a boolean instead of throwing an error