服务器Java TCP错误:未报告的异常java.io.IOException的

问题描述:

代码文件的位置:服务器Java TCP错误:未报告的异常java.io.IOException的

http://pastebin.com/X3HW8gPy

代码在这里错误:

http://imageshack.us/f/152/erroriojava.png/

我不知道为什么会发生这一点。

+0

这是因为你的程序没有降低检查异常的[“Catch or Declare”](http://docs.oracle.com/javase/tutorial/essential/exceptions/catchOrDeclare.html)要求。 – wchargin 2013-03-11 23:50:34

至少,包括你的图像上的所有错误都与未报告的异常

java.io.IOException 

所以,你应该包含try catch块用于以下行或

throws IOException 
从你的方法

flujosES() 

and

waitConexion() 

Line 57: printMensaje(“Conexiónrecibida de:”+ conexion.getInetAddress()。getHostName());

Line 120: salida.flush();

line 121: entrada = new ObjectInputStream(conexion.getInputStream());

122行: printMensaje(“\ nSe Recibieron los flujos de E/S \ n”);

+0

但我已经添加了此代码PD:有效!现在我会做新的测试 – recoco 2013-03-12 00:21:33

+0

至少在http://pastebin.com/X3HW8gPy链接的代码中,最后它们应该看起来像这样: private void flujosES()throws IOException {0} {0} {0} {0}私人无效waitConexion )抛出IOException { – emecas 2013-03-12 00:28:17

+0

是的,我改变了它。现在工作。谢谢。现在我会让TCPCliente做测试。 – recoco 2013-03-12 00:49:13

Java有两种类型的异常:checked和unchecked。检查异常要求程序员在方法可能抛出它们时明确地处理它们。在你的情况下,IOException是一个检查异常,因为它不会扩展RuntimeException,并且accept方法可能会抛出它。有两种方法来处理检查的异常,就像错误消息所述:它们可以被捕获(使用try..catch块)或被声明为被抛出(使用方法的throws关键字)。如果您选择第二个选项,则方法的调用者负责处理异常。

如果您搜索java检查的异常,可以找到更多的细节和示例。祝你好运!