异常处理的方式二:throws+异常类型
2024-09-07 11:24:02
package com.yhqtv.demo01Exception; 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的方式只是将异常抛给了方法的调用者,并没有真正将异常处理。
*
*3.开发中如何尊的使用两种处理异常方法?
* a.如果父类中被重写的方法没有throws方式处理异常,则子类重写的方法也不能使用throws,意味着如果
* 子类重写的方法中有异常,必须使用try-catch-finally方式处理。
* b.执行的方法a中,先后又调用了另外的几个方法,这几个犯法是递进关系执行的,我们建议这几个方法
* 使用throws的方式处理。而执行的方法a可以考虑使用try-catch-finally方式进行处理。
*
*
* 方法重写的规则之一:
* 子类重写的方法抛出的异常类型不大于父类的被重写的方法抛出的异常类型
* */
public class ExceptionTest2 { public static void main(String[] args) {
try{
method2();
}catch (IOException e){
e.printStackTrace();
} } public static void method2() throws IOException { method1();
} public static 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(); } }
最新文章
- redis-cluster 迁移过程错误记录
- PL/SQL Developer 和 instantclient客户端安装配置(图文)
- 【Quartz】Quartz的搭建、应用(单独使用Quartz)
- vs2010 vc++ 统一修改所有工程的目录配置
- iptables &; selinux
- js中的 !!
- jQuery中 判断事件
- 【行为型】Memento模式
- codeforces284 div1 B:概率dp
- BEncoding的编码与解码
- VR全景是继互联网后的第二王朝吗?
- 经验之谈——gulp使用教程
- android 人脸检测你一定会遇到的坑
- assert断言
- react16 渲染流程
- Net中获取程序集路径
- undefined reference to `pthread_create'
- ADB驱动
- python函数之第一类对象
- Git应用—01初始化项目