java程序中抛出异常的两种方式,及异常抛出的顺序

在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放在后面,一直报错,之后查找了一些资料才明白。

 

posted @ 2016-12-18 17:34  ReShadow  阅读(21460)  评论(2编辑  收藏  举报