在Java中创建服务器套接字时,我可以有IO异常吗?

Rom*_*man 1 java sockets try-catch ioexception println

我有以下代码:

Socket clientSocket = null;
try {
   clientSocket = serverSocket.accept();
} catch (IOException e) {
   System.err.println("Accept failed.");
   System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)

代码取自java.sun.com.

关于上面给出的短代码,我有几个问题.

  1. 为什么我们要捕获IOException.我虽然IOException是在我们使用输入输出方法(而不是网络方法)时可能发生的事情.

  2. "System.err.println"和"System.println"有什么区别?

  3. 在catch语句中,我们有"e".做什么的?我们后者使用它吗?

Bal*_*usC 6

1:为什么我们要捕获IOException.我虽然IOException是在我们使用输入输出方法(而不是网络方法)时可能发生的事情.

网络也是输入/输出.字节流通过套接字.

2:"System.err.println"和"System.println"有什么区别?

第一个写入stderr,第二个不存在.

3:在catch语句中我们有"e".做什么的?我们后者使用它吗?

要引用异常,以便在必要时记录或重新抛出异常.