otherwise, throw exception