用户自定义异常一定要抛出吗