java中需要处理异常
我们通常用几种方法来捕获并处理异常
首先是try-catch,用try监控代码,如果代码有异常就执行catch中的部分
File file = new File("x:\\x.txt");
try {
FileInputStream fis=new FileInputStream(file);
} catch (FileNotFoundException e) {
括号内的代码是需要监控的代码块中可能的报错,可以在下面的代码中调用
e.printStackTrace();
System.out.println("出错了");
}
然后是finally,不论是否出现异常都会执行的代码块
File file = new File("x:\\x.xxx");
try {
FileInputStream name = new FileInputStream(file);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("出现错误后会执行的");
}
finally {
System.out.println("这是无论如何都会执行的");
}
最后一个是直接在方法定义的是否就用的throws
使用throws一般在不需要对异常进行处理
public static void main(String[] args) throws FileNotFoundException {
File file=new File("x:\\x.xxx");
FileInputStream fis = new FileInputStream(file);
}
值得一提的是,throws和throw的区别是throws代表会出现一种异常的可能性,并不一定会发生异常,throw则表示一定会抛出异常