gpt4 book ai didi

java - 生产中的 Java Web 应用程序应如何处理 AJAX 请求期间意外的浏览器终止?

转载 作者:行者123 更新时间:2023-12-04 00:32:35 26 4
gpt4 key购买 nike

我有一个非常标准的 Web 应用程序,它处理来自在浏览器中运行的标准 Javascript 客户端的 AJAX 请求。

毫不奇怪,当服务器正在从浏览器读取数据时关闭浏览器时,会抛出异常。在生产中,这并不罕见。

关于防止用户在等待响应时关闭浏览器,这里有一些很好的建议,但我的问题与不可避免的连接丢失有关。 IE。用户电脑断电、网线拔掉等

Java 网络应用的行业最佳实践是否会抑制此异常?还是应该记录?我系统中的堆栈跟踪完全在第三方库中(库开始读取,但在将此数据传递给我的代码之前抛出异常)如果我愿意,我是否可以抑制它?我觉得在生产中出现这些不可避免的异常是不合适的。

最佳答案

我会一起从问题中删除“AJAX”,这不是特定于 AJAX 的。

“在生产中有这些异常是不合适的”这句话也应该改变,没有办法没有这些异常,你的意思可能是“记录这些异常”。

我会小心抑制响应处理中出现的任何异常。我至少会记录异常消息。如果是压制,你需要100%确定你压制的异常是请求端的失败导致的。在 Java 中,确定异常的来源是不可行的,而且我所知道的 Web 框架都不会抛出异常的特殊子类,表明该异常是特定于该失败的。抑制异常的明显问题是抑制重要的异常,并且在评估其他问题的根本原因时出现不必要的问题。

您可能应该发布另一个关于您正在使用的特定库/框架的问题,询问对于该框架,忽略超过特定点的异常是否安全。

请注意,某些 Web 框架在读取数据处理数据写入数据 之间会有严格的分离。对于那些,通常,写入数据阶段可以放弃以进行异常检查,但我见过异常,甚至 IO 异常会被抛出的情况,并且不会与其他异常相关请求的一侧。

然后还有其他遵循流或异步模型的 Web 框架,在这些框架中很难知道是哪个部分导致了异常。

关于java - 生产中的 Java Web 应用程序应如何处理 AJAX 请求期间意外的浏览器终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32723728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com