当前位置: 首页 > 知识库问答 >
问题:

如何处理java.net。ConnectException有效[已关闭]

巴宏恺
2023-03-14

< b >想改进这个问题?通过编辑此帖子更新问题,使其只关注一个问题。

我正在开发一个原生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 上的本地服务器通信时,会出现此问题。

有人能建议我如何有效地处理这种例外情况吗?只是希望我的应用程序没有错误和警告。

也许我们可以使用<code>try-catch</code>?至少,只是为了显示“连接错误”:)

共有1个答案

海典
2023-03-14

连接是依赖于各种真实世界的东西之一™ 巧合,比如在Wi-Fi热点的范围内,并且您的信号不会被同一频道上的另一个Wi-Fi信号淹没。因此,可以保证,它有时会失败。

既然你说“没有错误”,这意味着错误在某个地方得到了处理,某种程度上,也许是在你无法控制的代码中。然而,错误得到处理的事实并不意味着通信没有中断。如果你有一个恒定的数据流在客户端和服务器之间流动,那一刻数据的连续性就会有一个缺口。传输可能已经重试过了,并且成功了,但是有一个延迟。如果你发现延迟,并且你正在对它们进行故障排除,你确实想知道它们的原因。因此,这些日志消息很重要。

因此,你需要习惯它们,并学会忽略它们,直到有一天你将解决一些与连通性相关的问题,那时你将学会也喜欢它们。

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

 类似资料:
  • 问题内容: 我正在尝试做一些事情: 似乎没有必要,但是如果将其删除,则最后一个范围将永远存在。我做错了什么? 另一个问题是-使用Go例程的这种方式正确吗? 问题答案: 这是生产者- 消费者类型的示例。我只使用here,这样主goroutine不会立即退出。从理论上讲,您的应用程序可以等待,或者在此期间做一些其他有趣的事情。 请注意,您还可以使用其中要缓冲编号的缓冲通道。请注意,在典型的生产者- 消

  • 问题内容: 我试图了解哪些是应用程序的“物理”限制。 在客户端: 在服务器端: 在OSX中达到文件限制(256)时,统计信息如下 让我感到困惑的是: 如果我强行关闭连接(这是我想对客户端执行的操作,为什么我仍在使用文件句柄(因此达到文件限制),请执行以下操作:编辑:添加延迟似乎使服务器可以保持呼吸并且永远不会达到文件限制)? 有没有一种方法可以完全关闭套接字,以便可以确定很少达到文件限制(我知道可

  • 我正在使用ActiveMQ对电子邮件进行排队,消费者读取队列并发送电子邮件。 在启动时,我注册一个生产者,并永远缓存它。 有时,当连接关闭时,生产者无法将消息加入队列。 有人能告诉我处理闭门会议的最佳方式吗?我应该重新注册我的制作人吗?还是有办法重开会话?

  • 我有一个Spring启动应用程序,它使用Flyway在Postgres中进行数据库迁移。 它现在大约有四年了,所以我们正在谈论Flyway 4.0.3,Spring Boot 1.3.x和Postgres 9.x。版本可能会升级,但我想在这样做之前修复任何现有的问题。 与此同时,Postgres升级到了高于9.x的版本。不幸的是,由于包含不推荐使用的语法,一些现有的迁移已经过时。因此,现在使用全新

  • 我有两个Kafka代理:server1:9092和server2:9092我正在使用Java客户端向这个集群发送消息,代码如下: 当其中一个代理关闭时,Test在某些情况下会抛出此异常(在此异常示例中'server1'已关闭): 2015-11-02 17:59:29138警告[org.apache.kafka.common.network.Selector]服务器1/40.35.250.227

  • 编辑问题以包括所需的行为、特定的问题或错误,以及重现问题所需的最短代码。这将帮助其他人回答这个问题。 我有以下项目清单(订单事项): 我想合并方括号表示的文本节点: 我编写了一个带有标志和prevNode指针的for-each循环来完成这项任务,但感觉不太对劲: 对于一项可以在10秒钟内口头表达的任务来说,这太费劲了 如果没有注释,理解代码将需要一些脑力劳动和时间 我相信这就是Java 8流API