btw, you can conveniently just throw the error here, and have the catch block do the work for you... DRYs things up ;)