Use raise (not throw) for errors

Use raise/rescue for errors, throw/catch is for control flow.