Java异常处理-方式二:throws

异常处理方式二:throws +异常类型
*1."throws+异常类型"写在方法的声明处,指明此方法执行时,可能出现的异常类型
* 一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会
* 被抛出,异常代码后续代码将不再执行
* 2.体会:try-catch-finally:真正的将异常处理掉了
* throws的方式只是将异常抛给了方法的调用者,并没有真正的处理异常
*
* 开发中如何选择
* 1.父类没有使用throws,如果子类中抛异常,则子类只能使用try-catch-finally
* 2.层层递进,使用throws(前一个结果是后一个方法的前提)
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 异常处理方式二:throws +异常类型
 *1."throws+异常类型"写在方法的声明处,指明此方法执行时,可能出现的异常类型
 * 一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会
 * 被抛出,异常代码后续代码将不再执行
 * 2.体会:try-catch-finally:真正的将异常处理掉了
 *        throws的方式只是将异常抛给了方法的调用者,并没有真正的处理异常
 *
 * 开发中如何选择
 * 1.父类没有使用throws,如果子类中抛异常,则子类只能使用try-catch-finally
 * 2.层层递进,使用throws(前一个结果是后一个方法的前提)
 *
 * @author orz
 */
public class ExceptionTest2 {


    public void method2() throws IOException
    {
        method1();
    }

    public void method1 () throws FileNotFoundException, IOException
    {
        File file=new File("hello.txt");
        FileInputStream fis=new FileInputStream(file);
        int data=fis.read();
        while (data!=-1)
        {
            System.out.println((char)data);
            data=fis.read();
        }
        fis.close();
    }
    public static void main(String[] args) {
        ExceptionTest2 t=new ExceptionTest2();
        try
        {
            t.method2();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/orzjiangxiaoyu/p/13388132.html