Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在一段时间内包装从internet获取的尝试捕获_Java_Android - Fatal编程技术网

Java 在一段时间内包装从internet获取的尝试捕获

Java 在一段时间内包装从internet获取的尝试捕获,java,android,Java,Android,因此,我在java程序中有一个try-catch语句,它从internet获取内容。我如何处理超时?我是否将try-catch包装在while语句中,并在多次失败的迭代之后告诉用户稍后再试 我如何处理超时?我是否将try-catch包装在while语句中,并在多次失败的迭代之后告诉用户稍后再试 我认为那不是个好主意。在我看来,最好的做法是选择一个超时,它与您认为用户应该等待的时间相对应,而不是使用循环。正如@BalusC所指出的,任何合适的Http客户端API都将为您提供一种在发出请求之前设置超

因此,我在java程序中有一个try-catch语句,它从internet获取内容。我如何处理超时?我是否将try-catch包装在while语句中,并在多次失败的迭代之后告诉用户稍后再试

我如何处理超时?我是否将try-catch包装在while语句中,并在多次失败的迭代之后告诉用户稍后再试

我认为那不是个好主意。在我看来,最好的做法是选择一个超时,它与您认为用户应该等待的时间相对应,而不是使用循环。正如@BalusC所指出的,任何合适的Http客户端API都将为您提供一种在发出请求之前设置超时的方法。使用它

使用循环的问题在于,可能会向已经过载的服务器添加负载。假设超时的真正原因是服务器试图并行处理太多的请求,并且每个请求都需要很长时间。如果您(客户端)超时请求,然后立即重试,那么您可能只是在添加额外的负载。。。让事情变得更糟


有可能一些用户无论如何都会按下重试按钮。你不需要为他们敲打。

事实上,每一个体面的HTTP客户端都有一个超时设置,甚至
URLConnection
也有一个超时设置。利用它。