【问题标题】:Java Client Server - Exception Handling (Thread)Java 客户端服务器 - 异常处理(线程)
【发布时间】:2016-03-14 19:37:19
【问题描述】:

我想知道如何在客户端服务器应用程序中正确处理异常。我的客户端将信息发送到服务器(线程),该服务器在其运行方法中接收它。 在处理 run 方法中的异常时,我已经阅读了一些关于未捕获异常处理的内容,但想知道在我的情况下这是否是正确的方法。 我想在客户端捕获异常。

我打算做以下事情:

//Server

run(){
  try{
...
  }
  catch(Exception e){
     clientoutputstream.write(...); //transmitting the error
  }
}

还有其他建议吗?

【问题讨论】:

  • 您必须考虑当另一端意外断开时会发生什么,您将无法向其写入错误消息。即如果可以发送错误消息,但您应该处理不可能的情况。

标签: java exception server client


【解决方案1】:

您应该在您的 read() 调用周围放置一个 try { } catch (IOException),以便您知道另一端是否已关闭连接。您可能想要做的另一件事是在处理代码周围放置一个 try { } catch(Throwable) { } 以便您可以手动关闭套接字(要非常小心地捕获 Throwable)但是如果您只是让线程死掉 Socket当对象被垃圾回收或超时时将关闭

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多