Looks like you're using an exception here for flow control, which is highly recommended against.