我需要一些关于如何在我们的产品中实现例外的想法。
我想到的一些想法如下:
1.)既然我们正在使用Spring AOP,我可以创建一些方面,围绕catch块提出建议
我不必在代码中的任何地方进行更改。 Spring全局异常处理程序也是
只有在没有挡块的情况下才会发挥作用。
2.)审核数据库中的异常,生成报告以便控制和进行更改
相应的代码。
3.)向特定组发送电子邮件。
4.)显示不同的错误页面,处理不同异常的错误代码。
5.)精细获取异常堆栈跟踪以提取使用完整信息并显示给业务
用户/最终用户。
请分享我们在产品中除了异常建模之外还能提供的其他内容。 我们可以咨询任何可用的API .. ???
答案 0 :(得分:1)
通过为每个组创建一个顶级异常,将异常分组到多个组中,然后创建子类。
这些是一些例外的示例:BusinessException,子类ValidationException,FatalException等。对于每组异常,使用@ControllerAdvice annotatted类定义全局捕获机制,该类为所有控制器配置异常处理程序。
有关如何创建ControllerAdvice类的示例,请参阅此blog post。
然后在服务层中,可以捕获异常并在需要时执行特定操作,然后重新抛出异常添加仍会触发远程行为。