1.什么时候应该用throw new exception?
通常情况下,一个函数的执行结果会通过返回值的方式向上层调用者返回,然后调用者再根据返回的结果进行逻辑的处理,但是,如果碰到既要传递返回值又要告诉调用者函数执行总遇到了什么状况,或者函数的参数没有达到被处理的条件,通过返回值向调用者报告往往会很麻烦,
那么可以通过向调用者抛出异常的方式,由调用者统一处理执行状态,你可以从Exception类继承并且自定义异常类,比如说是业务类调用了数据类后,由于数据库未正常连接,那么数据类就可以向业务类扔出一个DBDisabledException(自己定义的异常类),那么业务类try-catch到这个异常后可以做一些相关的处理。