在java中,会经常遇到异常,java提供了两种抛出异常的方式。
方式一:
throws ,抛出具体代码中的异常,这种方式编译器都会提示,举例:
public static void main(String[] args) throws IOException
方式二:try{ } catch{}抛出异常
在try中放入待执行代码,如果程序正常运行就会执行try中的代码,如果出现异常,就会执行catch中的代码,当然,try后面可以跟多个catch,举例:
try {
br.close();
} catch (IOException e2) {
System.out.println("用户释放资源失败");
} ...
注意点:1.在接口的实现类中,如果定义的接口抽象方法中没有抛出异常,在重写的抽象方法中是不能通过throws这种方式抛出异常的,因为父类没有抛出异常,子类是不能抛出异常的。
2.当通过try catch这种方法抛出异常的时候要注意抛出异常的顺序,异常范围小的放在前面,异常范围大的放在后面,在这里举个例子:
try{
//待执行的代码
} catch (FileNotFoundException e) {
System.out.println("找不到文件");
} catch (IOException e) {
System.out.println("IO操作失败");
}
之前是把FileNotFoundException放在后面,一直报错,之后查找了一些资料才明白。