必要的时候抛出异常
抛异常就不用写个返回了