在项目中有时需要自定义异常以便给出符合业务的错误提示。
自定义异常要继承RuntimeException,不要继承Exception。
因为在一个事务中运行时异常才会回滚数据,继承Exception的自定义异常,在事务中是不会回滚数据的,Mark。