VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • Java连载62-使用throws关键字处理异常

​一、处理异常的两种方式

1.所有的编译时异常,要求程序员在编写程序阶段,必须对它进行处理,如果不处理的话,编译就会无法通过,处理异常有两种方法:捕捉和声明抛出。

2.捕捉:try.....catch.......

3.声明抛出就是方法声明的位置上使用throws关键字抛出异常。

4.所有RuntimeException的子类都是运行时异常,运行时异常程序员在编写阶段不需要对它进行处理。

5.编译时异常发生的几率比较高;运行时异常发生的几率比较低。

6.所有的Exception的直接子类都是“编译时异常”。

二、处理异常有两种方式

1.声明抛出 throws

2.捕捉  try.....catch.......

以下程序演示第一种方式:声明抛出,在方法声明的位置上使用throws关键字向上抛出异常。

 

复制代码
package com.bjpowernode.java_learning;

import java.io.*;

​


public class D62_1_ {

  public static void main(String[] args) throws FileNotFoundException{

    //创建一个文件输入流,读取文件


    //java编译器是如何知道以下的代码在执行过程可能存在异常

    //java编译器是如何知道这个异常发生的几率比较高呢?

    //java编译器不是那么智能,因为FileInputStream这个构造方法在声明的位置上使用了


    //throws FileNotFoundException;

    //FileInputStream fls = new FileInputStream("C:\\Users\\lenovo1\\Desktop\\微信公众号运营-Java\\Java连载51-super关键字.docx");

//    try{

    m1();

      //使用throws处理异常是不是真正处理异常而是推卸责任

      //谁调用就会跑给谁

      //上面的m1方法如果出现了异常,因为采用的是向上抛出,给了JVM,JVM遇到这个异常

      //就会退出JVM,下面的这个代码不会执行

//    }catch(FileNotFoundException e) {

//      System.out.println("出现了异常");

//    }

  }

  public static void m1() throws FileNotFoundException{

    m2();

  }

  public static void m2() throws FileNotFoundException{

    m3();

  }

  public static void m3() throws FileNotFoundException{

    //FileNotFound构造方法声明位置上使用了throws(向上抛出)

    new FileInputStream("E:\\04.image\\timg.jpgu");

  }

}
复制代码

异常出现了就一层一层往上抛。

再看一下使用try....catch......来处理这些异常

 

复制代码
  public static void main(String[] args) {

    //创建一个文件输入流,读取文件


    //java编译器是如何知道以下的代码在执行过程可能存在异常

    //java编译器是如何知道这个异常发生的几率比较高呢?

    //java编译器不是那么智能,因为FileInputStream这个构造方法在声明的位置上使用了


    //throws FileNotFoundException;

    //FileInputStream fls = new FileInputStream("C:\\Users\\lenovo1\\Desktop\\微信公众号运营-Java\\Java连载51-super关键字.docx");

    try{

      m1();

      //使用throws处理异常是不是真正处理异常而是推卸责任

      //谁调用就会跑给谁

      //上面的m1方法如果出现了异常,因为采用的是向上抛出,给了JVM,JVM遇到这个异常

      //就会退出JVM,下面的这个代码不会执行

    }catch(FileNotFoundException e) {

      System.out.println("出现了异常");

    }

  }
复制代码

三、源码:

D62_1_ThrowsOfException.java

https://github.com/ruigege66/Java/blob/master/D62_1_ThrowsOfException.java

出  处:

https://www.cnblogs.com/ruigege0000/p/12071024.html

 


相关教程