java声明方法抛出的异常
TestExceptions.java
import java.io.*;
//异常
public class TestExceptions {
public static void main(String[] args) {
}
void f() {//throws FileNotFoundException , IOException
FileInputStream in = new FileInputStream("myfile.txt");
int b;
b = in.read();
while (b != -1) {
System.out.print((char) b);
b = in.read();
}
}
}
抛出异常
F:\java>javac TestExceptions.java TestExceptions.java:10: 错误: 未报告的异常错误FileNotFoundException; 必须对其进行捕获或声明以便抛出 FileInputStream in = new FileInputStream("myfile.txt"); ^ TestExceptions.java:12: 错误: 未报告的异常错误IOException; 必须对其进行捕获或声明以便抛出 b = in.read(); ^ TestExceptions.java:15: 错误: 未报告的异常错误IOException; 必须对其进行捕获或声明以便抛出 b = in.read(); ^ 3 个错误 F:\java>
给方法抛出异常
import java.io.*;
//异常
public class TestExceptions {
public static void main(String[] args) {
}
//throwsthrows FileNotFoundException , IOException
void f() throws FileNotFoundException , IOException {
FileInputStream in = new FileInputStream("myfile.txt");
int b;
b = in.read();
while (b != -1) {
System.out.print((char) b);
b = in.read();
}
}
}
编译没有报异常
F:\java>javac TestExceptions.java F:\java>
import java.io.*;
//异常
public class TestExceptions {
public static void main(String[] args) {
}
//throwsthrows FileNotFoundException , IOException
void f() throws FileNotFoundException , IOException {
FileInputStream in = new FileInputStream("myfile.txt");
int b;
b = in.read();
while (b != -1) {
System.out.print((char) b);
b = in.read();
}
}
//throws IOException
void f2() throws IOException {
//捕捉f()方法中可能出现的异常
try {
f();
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
//异常
public class TestExceptions {
public static void main(String[] args) /*throws Exception*/ {
try {
TestExceptions te = new TestExceptions();
te.f2();
} catch(IOException e) {
e.printStackTrace();
}
}
//throwsthrows FileNotFoundException , IOException
void f() throws FileNotFoundException , IOException {
FileInputStream in = new FileInputStream("myfile.txt");
int b;
b = in.read();
while (b != -1) {
System.out.print((char) b);
b = in.read();
}
}
void f2() throws IOException {
/*
方法一:
//捕捉f()方法中可能出现的异常
try {
f();
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
e.printStackTrace();
}
*/
/*
方法二:
在f2() 方法后抛出异常f2() throws IOException
*/
f();
}
}