为了账号安全,请及时绑定邮箱和手机立即绑定

套接字连接中的Java未报告异常

套接字连接中的Java未报告异常

LEATH 2021-07-05 16:56:24
我正在学习 Java,但遇到了一个我不明白的奇怪错误,以下是我的代码:import java.net.Socket;import java.io.IOException;class Client{    public static void main(String[]args){        System.out.println("Connecting...");        Socket request=new Socket("127.0.0.1", 1234);        System.out.println("Connected.");        request.close();    }}我收到的错误:test.java:6: error: unreported exception UnknownHostException; must be caught or declared to be thrown        Socket request=new Socket("127.0.0.1", 1234);                   ^1 error如果有帮助,我正在使用 javac test.java 进行编译,有人知道如何纠正此错误吗?
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

有两种方法可以实现它,要么throws UnknownHostException在 main 方法后面编写,要么用 try-catch 包围它。但是写 IOException 而不是 od UnknownHostException 会更聪明,因为无论如何你都需要稍后实现它,并且因为 UnknownHostException 扩展了 IOException 你可以只写throws IOException


方法一:

public static void main(String[]args) throws IOException{

    System.out.println("Connecting...");

    Socket request=new Socket("127.0.0.1", 1234);

    System.out.println("Connected.");

    request.close();

}

方法二:

public static void main(String[]args){

    System.out.println("Connecting...");

    try {

        Socket request=new Socket("127.0.0.1", 1234);

        System.out.println("Connected.");

        request.close();

    } catch (IOException e){

        e.printStackTrace();

    }

}

希望这可以帮助。:)


查看完整回答
反对 回复 2021-07-14
?
互换的青春

TA贡献1797条经验 获得超6个赞

使用 try-with-resources 让您不必担心出现问题时关闭内容。如果有异常则捕获异常,则套接字自动关闭。


import java.net.Socket;

import java.io.IOException;

class Client{

    public static void main(String[]args){

        System.out.println("Connecting...");

        try (Socket request=new Socket("127.0.0.1", 1234)){

            System.out.println("Connected.");

        } catch (IOException e) {

            System.out.println("Host error:" + e)

        }

    }

}


查看完整回答
反对 回复 2021-07-14
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

从文档public Socket(String host, int port) throws UnknownHostException, IOException抛出

UnknownHostException - if the IP address of the host could not be determined.

确保您传递了正确的 IP 地址


查看完整回答
反对 回复 2021-07-14
  • 3 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信