异常处理方式二: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();
}
}
}