75_异常机制_声明异常throw_方法重写中异常的处理_手动抛出异常
来源:互联网 发布:4399盗号软件 编辑:程序博客网 时间:2024/05/19 11:34
异常的处理办法之二,声明异常:throws子句
当Checked Exception产生时,不一定立刻处理它,可以再把异常Throws出去。
- 在方法中使用try-chatch-finally由这个方法处理异常。在一些情况下,当前方法并不需要处理发生的异常,而是向上传递给调用它的方法处理。
- 如果一个方法中可能产生某种异常,但是并不能确定如何处理这种异常,则应根据异常规范在方法的首部声明该方法可能抛出的异常。
- 如果一个方法抛出多个已检查异常,就必须在方法的首部列出所有的异常,之间以逗号隔开。
import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class FileTest { public static void main(String[] args) { try{ readFile("d:/a.txt"); }catch (FileNotFoundException e){ System.out.println("所需要的文件不存在!"); e.printStackTrace(); }catch (IOException e) { System.out.println("文件读写出错误!"); e.printStackTrace(); } } public static void readFile(String fileName) throws IOException { FileReader in = new FileReader(fileName); try { int tem = 0; tem = in.read(); while (tem != -1) { System.out.println((char) tem); tem = in.read(); } } finally { in.close(); } }}
- 方法重写中声明异常原则
子类声明的异常范围不能超过父类声明的范围。包含如下意思:- 父类没有声明异常,子类也不能;
- 不可抛出原有方法抛出异常类的父类或上层类
- 抛出的异常类型的数目不可以比原有的方法抛出的还多(不是指个数)
import java.io.FileNotFoundException;import java.io.IOException;import java.text.ParseException;public class TestException1 { public static void main(String[] args) { }}class A { public void method() throws IOException, ParseException { }}class B extends A { public void method() throws FileNotFoundException { }}class C extends A { public void method() { }}class D extends A { public void method() throws IOException { }}class E extends A { public void method() throws IOException, FileNotFoundException { }}class F extends A { public void method() throws IOException, ArithmeticException { }}class G extends A { public void method() throws IOException, ParseException { }}
异常的处理办法之三,手动抛出异常,throw子句
- Java异常类对象除在程序执行过程中出现异常时由系统自动生成并抛出,也可根据需要手工创建并抛出。
- 在捕获一个异常前,必须有一段代码先生成异常对象并把它抛出。这个过程我们可以手工做,也可以由JRE来实现,但是他们调用的都是throw子句。
- 对于一个已经存在的异常类,抛出该类异常对象过程如下:
- 找到一个合适的异常类。
- 创建一个该类的对象。
- 将对象抛出
File f = new File("c:/tt.txt");if (!f.exists()) { try { throw new FileNotFoundException("File can't be found!"); } catch (FileNotFoundException e) { e.printStackTrace(); }}
阅读全文
0 0
- 75_异常机制_声明异常throw_方法重写中异常的处理_手动抛出异常
- 异常机制第三十七课,声明异常throw,方法重写中异常的处理,手动抛出异常
- 黑_马_程_序_员_Java异常处理方式之一的手动抛出
- 异常处理(003)_如何抛出异常
- Think in Java 笔记_Chapter12_1_Exception基础_异常处理3_自定义异常以及抛出多个异常的处理
- 73_异常机制_常见异常分类_异常简单处理
- Struts2_声明式异常处理_实现
- [java]_[异常处理]
- 笔试_异常处理
- 76_异常机制_自定义异常_总结
- 75_异常笔试
- 黑马程序员_异常机制
- 黑马程序员_异常机制
- 黑马程序员_异常机制
- 黑马程序员_关于java的处理异常机制
- 黑马程序员_浅谈Java当中的异常处理机制
- Java中自定义异常类_异常处理
- 72_异常机制_Exception_Throwable_Error的概念
- 线段树小结
- jquery遍历表格获取每行数据及每个单元格数据
- js中__proto__和prototype的区别和关系
- iOS 开发流程
- Qt 应用程序添加图标
- 75_异常机制_声明异常throw_方法重写中异常的处理_手动抛出异常
- #matlab中文论坛-SVM01.md
- Linux tree 命令
- Spring:Aop面向切面编程
- 汇编-自定义section
- 006_制作第一个Docker镜像
- OkHttp 3.7源码分析(二)——拦截器&一个实际网络请求的实现
- Mysql的基本理解
- HTMLTestRunner实现报告中的截图