为什么我应该在 Webflux 应用程序中构建自己的 error/exception 处理?
Why should I build my own error/exception handling into a Webflux application?
当Webflux应用程序出现内部异常时,为什么我要want/need编写代码来处理这些异常?我了解在服务客户端错误地调用服务或非错误条件(即查询 returns 空游标等)时处理问题并返回适当的 ServerResponse 主体。 ) 发生。
但是,除了将调试信息生成到日志文件中之外,滚动您自己的异常处理组件还有什么好处吗?这种方法在单体应用程序中对我来说 "more sense",其中一个人试图避免应用程序 "just dies".
的场景
但是,对于服务实现,特别是如果有一些动机不向客户端公开过多的内部实现,为什么 Spring 的默认 error/exception 处理(和“500 内部服务器错误”response/message) 就足够了。
所以,经过一段时间的思考(虽然反馈很少,但仍然有帮助和赞赏),我想可以归结为:
(a) - 它为 "do things" 提供本地化上下文,例如记录有关 exception/error 条件的信息,或在服务器-客户端的上下文中对异常的严重性进行分类互动。
(b) - 它根据 exception/error 条件的性质以及服务器是部署在生产环境还是测试环境中,为来自客户端的 hide/expose 信息提供本地化上下文。
(c) - 本地化后,它使 maintenance/modification 更容易一些,因为 exceptions/errors 的处理不会分散在整个代码中。
(a) 和 (c) 足以让我相信这是值得的。
当Webflux应用程序出现内部异常时,为什么我要want/need编写代码来处理这些异常?我了解在服务客户端错误地调用服务或非错误条件(即查询 returns 空游标等)时处理问题并返回适当的 ServerResponse 主体。 ) 发生。
但是,除了将调试信息生成到日志文件中之外,滚动您自己的异常处理组件还有什么好处吗?这种方法在单体应用程序中对我来说 "more sense",其中一个人试图避免应用程序 "just dies".
的场景但是,对于服务实现,特别是如果有一些动机不向客户端公开过多的内部实现,为什么 Spring 的默认 error/exception 处理(和“500 内部服务器错误”response/message) 就足够了。
所以,经过一段时间的思考(虽然反馈很少,但仍然有帮助和赞赏),我想可以归结为:
(a) - 它为 "do things" 提供本地化上下文,例如记录有关 exception/error 条件的信息,或在服务器-客户端的上下文中对异常的严重性进行分类互动。
(b) - 它根据 exception/error 条件的性质以及服务器是部署在生产环境还是测试环境中,为来自客户端的 hide/expose 信息提供本地化上下文。
(c) - 本地化后,它使 maintenance/modification 更容易一些,因为 exceptions/errors 的处理不会分散在整个代码中。
(a) 和 (c) 足以让我相信这是值得的。