Java客户端服务器-异常处理(线程)

标签 java exception server client

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

我打算执行以下操作:

//Server

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

还有其他建议吗?

最佳答案

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

关于Java客户端服务器-异常处理(线程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35996536/

相关文章:

java - StreamCorruptedException,当使用 ObjectInputStream 时

java - 另一个警报对话框之后的警报对话框?第一个不见了!安卓

java - 机器人 - java.lang.NullPointerException

java - 为什么我在迭代时得到当前修改异常而不删除?- Java

apache - Azure VM 上的 apache2 服务器出现错误 : "This site can’ t be reached *. *.*.*”

java - foreach 排序列表的速度

java - LWJGL 非法状态异常

python - Selenium Firefox webdriver 导致错误 : Service geckodriver unexpectedly exited. 状态代码为:2

url - 显示域名而不是 IP 地址作为 url

dart - 在 Dart 服务器上正确使用 'route' 和 'path' 库