Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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 未处理的异常,但try catch blocks不';我似乎没有做我认为应该做的事_Java_Unknown Host - Fatal编程技术网

Java 未处理的异常,但try catch blocks不';我似乎没有做我认为应该做的事

Java 未处理的异常,但try catch blocks不';我似乎没有做我认为应该做的事,java,unknown-host,Java,Unknown Host,我目前正在连接一个IRC服务器,我收到一个抛出的错误,上面说“error:(20,16)java:unreported exception java.io.IOException;必须捕获或声明要抛出” 我也试过了 private PrintStream out; private void connect() throws IOException, UnknownHostException { try { Socket socket = new Socket(host,

我目前正在连接一个IRC服务器,我收到一个抛出的错误,上面说“error:(20,16)java:unreported exception java.io.IOException;必须捕获或声明要抛出”

我也试过了

private PrintStream out;
private void connect() throws IOException, UnknownHostException {
    try {
        Socket socket = new Socket(host, port);
        out = new PrintStream(socket.getOutputStream());
    } catch (UnknownHostException ex){
        System.out.println(ex.getMessage());
    }
}
以及

private PrintStream out;
private void connect() throws IOException, UnknownHostException {
    try {
        Socket socket = new Socket(host, port);
        try {
            out = new PrintStream(socket.getOutputStream());
        } catch(IOException exc){
            System.out.println(exc.getMessage());
        }

    } catch (UnknownHostException ex){
        System.out.println(ex.getMessage());
    }
}
但在我尝试过的所有选项中,错误仍然存在。

您必须用try catch环绕connect()。connect方法引发异常

public connection(String host, int port){
this.host = host;
this.port = port;
try{
connect();         //This line is erroring
 }catch(Exception e){}
register();

}

您已经定义了抛出IOException和UnknownHostException的方法

private void connect() throws IOException, UnknownHostException {
} 
现在,当您调用这个方法时,您必须像下面那样处理这些异常

try {
    connect();
} catch (IOException e) {
    e.printStackTrace();
}
另一方面,您捕获了connect()方法中的错误。因此,不需要在方法定义中再次抛出它们。例如,您可以像下面这样定义您的方法。如果使用此方法,可以使用当前语法调用connect()方法

private void connect(){
}
private void connect(){
}