如何有效地处理java.net.ConnectException

时间:2016-09-24 12:03:25

标签: java android

我正在开发一个原生的Android应用程序,没有错误,但Logcat说

  Caused by: java.net.ConnectException: failed to connect to some ip.
  Caused by: libcore.io.ErrnoException: connect failed: ETIMEDOUT 

android-Studio指出的警告线: -

 HttpResponse httpResponse = httpClient.execute(httpPost);

当您的应用无法与LAN上的本地服务器通信时,会出现此问题。

任何人都可以建议我有效处理这种例外的文章吗? 只是希望我的应用程序没有错误和警告。

我们可以使用try - catch吗?至少,只是为了表示敬酒“连接错误”:)

1 个答案:

答案 0 :(得分:0)

连接性是依赖于各种Real World™重合的事物之一,例如在Wi-Fi热点的范围内,并且您的信号不会被同一频道上的另一个Wi-Fi信号淹没。因此,有时保证它会失败。

因为你说"没有错误",这意味着错误是在某处处理的,不管怎样,可能是在你无法控制的代码中。但是,处理错误的事实并不意味着通信没有中断。如果在客户端和服务器之间有持续的数据流,那么当时数据的连续性就会存在差距。传输可能已经重试并且成功,但是有一个延迟。如果您发现延迟,并且正在对它们进行故障排除,您确实想知道它们的原因。因此,这些日志消息很重要。

所以,你需要习惯他们,并学习忽略它们,直到有一天你将对连接相关的东西进行故障排除,此时你将学会也喜欢它们。

总结:"连接错误"吐司不是很有帮助,因为在现实世界的使用场景中,它们会一直弹出。允许记录错误可能是您唯一可以做的事情,也可能是最好的。