如何抛出IOException?

时间:2012-03-15 12:46:24

标签: java exception io

public class ThrowException {
    public static void main(String[] args) {
        try {
            foo();
        }
        catch(Exception e) {
             if (e instanceof IOException) {
                 System.out.println("Completed!");
             }
          }
    }
    static void foo() {
        // what should I write here to get an exception?
    }
}

嗨!我刚开始学习异常并需要捕获异常,所以请任何人为我提供解决方案吗? 我会非常感激的。 谢谢!

7 个答案:

答案 0 :(得分:17)

static void foo() throws IOException {
    throw new IOException("your message");
}

答案 1 :(得分:6)

try {
        throw new IOException();
    } catch(IOException e) {
         System.out.println("Completed!");
    }

答案 2 :(得分:1)

throw new IOException("Test");

答案 3 :(得分:1)

  

我刚刚开始学习异常并需要捕获异常

抛出异常

throw new IOException("Something happened")

要捕获此异常最好不要使用Exception,因为它是非常通用的,而是捕获您知道如何处理的特定异常:

try {
  //code that can generate exception...
}catch( IOException io ) {
  // I know how to handle this...
}

答案 4 :(得分:1)

如果目标是从foo()方法抛出异常,则需要按如下方式声明:

public void foo() throws IOException{
    \\do stuff
    throw new IOException("message");
}

然后在你的主要:

public static void main(String[] args){
    try{
        foo();
    } catch (IOException e){
        System.out.println("Completed!");
    }
}

请注意,除非声明foo抛出IOException,否则尝试捕获一个将导致编译器错误。使用catch (Exception e)instanceof对其进行编码可以防止编译器错误,但这是不必要的。

答案 5 :(得分:1)

请尝试以下代码:

throw new IOException("Message");

答案 6 :(得分:0)

也许这有帮助...

请注意以下示例中捕获异常的更简洁方法 - 您不需要e instanceof IOException

public static void foo() throws IOException {
    // some code here, when something goes wrong, you might do:
    throw new IOException("error message");
}

public static void main(String[] args) {
    try {
        foo();
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}