Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中创建服务器套接字时,是否可以出现IO异常?_Java_Sockets_Ioexception_Try Catch_Println - Fatal编程技术网

在Java中创建服务器套接字时,是否可以出现IO异常?

在Java中创建服务器套接字时,是否可以出现IO异常?,java,sockets,ioexception,try-catch,println,Java,Sockets,Ioexception,Try Catch,Println,我有以下代码: Socket clientSocket = null; try { clientSocket = serverSocket.accept(); } catch (IOException e) { System.err.println("Accept failed."); System.exit(1); } 代码取自一个 关于上述代码的简短部分,我有几个问题 我们为什么要捕获IOException。我认为当我们使用输入输出方法(而不是网络方法)时,IOExcep

我有以下代码:

Socket clientSocket = null;
try {
   clientSocket = serverSocket.accept();
} catch (IOException e) {
   System.err.println("Accept failed.");
   System.exit(1);
}
代码取自一个

关于上述代码的简短部分,我有几个问题

  • 我们为什么要捕获IOException。我认为当我们使用输入输出方法(而不是网络方法)时,IOException可能会发生

  • “System.err.println”和“System.println”之间有什么区别

  • 在catch语句中,我们有“e”。为何我们用后者吗

  • 1:为什么我们要捕获IOException。我认为当我们使用输入输出方法(而不是网络方法)时,IOException可能会发生

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

    2:“System.err.println”和“System.println”有什么区别

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

    3:在catch语句中,我们有“e”。为何我们用后者吗

    对异常进行引用,以便在必要时记录或重新浏览异常

    1:为什么我们要捕获IOException。我认为当我们使用输入输出方法(而不是网络方法)时,IOException可能会发生

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

    2:“System.err.println”和“System.println”有什么区别

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

    3:在catch语句中,我们有“e”。为何我们用后者吗


    获取对异常的引用,以便在必要时记录或重新显示它。

    accept引发IOException的一个常见原因是文件句柄不足。创建套接字需要两个文件句柄,如果用完了,就会出现“打开的文件太多”之类的错误。accept抛出IOException的一个常见原因是文件句柄不足。创建套接字需要两个文件句柄,如果用完,则会出现“打开的文件太多”之类的错误(a)在这段代码中,您不是在“创建服务器套接字”,而是在接受来自服务器套接字的套接字

    (b) 失败的原因有很多,包括关闭ServerSocket;FDs耗尽;网络堆栈问题;内存耗尽。。。因此它抛出IOException。

    (a)在这段代码中,您不是在“创建服务器套接字”,而是在接受来自服务器套接字的套接字


    (b) 失败的原因有很多,包括关闭ServerSocket;FDs耗尽;网络堆栈问题;内存耗尽。。。因此,它抛出IOExtExist.java/C++ >代码>系统。打印代码> <代码> java >代码>系统> .PrtLn< <代码>(Re::3,C++允许您省略未使用的参数名。Java不)。(RE:3,C++允许您省略未使用的参数名。Java不。)