Java基础知识强化之IO流笔记03:throws的方式处理异常
1. 什么时候使用throws ?
(1)定义功能方法时候,需要把出现的问题暴露出来,让调用者去处理。那么就通过throws在方法上标识。
(2)有时候,我们是可以对异常进行处理的,但是又有些时候,我们根本就没有权限去处理某个异常。或者说我们处理不了,我就不处理了。为了解决这个出错问题,java针对这种问题,就提供了另一种处理方案:throws 抛出(交给调用者处理)
注意:尽量不要在main方法上面抛出异常。
2. 格式:
throws 异常类名
注意:这个格式必须跟在方法的括号后面。
3. 案例:
(1)
(2)调用者处理这个异常,可以再往上级抛,如下:
(3)运行(2)中代码,如下:
根据上面的运行结果,可知:
只运行了第一行语句的:System.out.println("我饿了");
然后jvm虚拟机卡死在第二行语句:method();
因为这里jvm发现这个调用的method()方法是有问题的。
(4)很明显上面的处理方法欠佳,如下改进,在main方法中处理method方法异常,如下:
1 package com.himi.throwdemo; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 public class ExceptionDemo { 8 9 public static void main(String[] args) { 10 System.out.println("我饿了"); 11 try { 12 method(); 13 } catch (ParseException e) { 14 // TODO 自动生成的 catch 块 15 e.printStackTrace();//系统默认打印出错的信息 16 } 17 System.out.println("我和大家好好的"); 18 19 } 20 21 //方法声明中抛出,是为了告诉调用者,你注意了,我有问题。 22 private static void method() throws ParseException { 23 String s = "2015-09-28"; 24 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 25 Date d = sdf.parse(s); 26 System.out.println(d); 27 } 28 29 }
运行结果如下:
转载于:https://www.cnblogs.com/hebao0514/p/4844256.html
Java基础知识强化之IO流笔记03:throws的方式处理异常相关推荐
- Java基础知识强化之IO流笔记42:IO流总结(图解)
1. IO流总结(图解) 转载于:https://www.cnblogs.com/hebao0514/p/4868913.html
- Java基础知识强化之IO流笔记41:字符流缓冲流之复制文本文件案例02(使用 [ newLine() / readLine() ] )(重要)...
1. 使用字符流缓冲流的特殊功能 [ newLine() / readLine() ] 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中 数据源: a.txt -- 读取数据 ...
- Java基础知识强化之IO流笔记32:转换流之OutputStreamWriter的使用
1. OutputStreamWriter的使用 OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流 OutputStreamWriter ...
- Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...
- Java基础知识强化之IO流笔记59:打印流
1. 打印流 (1)分类: • 字节打印流 PrintStream • 字符打印流 PrintWriter (2)打印流的特点: • 只能写数据,不能读数据 • 只能操作目的地,不能操作数据源 ...
- Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)
1.这个问题是如下的: 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月: ...
- java不死神兔总数_Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)...
1.这个问题是如下的: 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月: 1 第 ...
- Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据
1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源 UDP协议接 ...
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
最新文章
- 深度学习——数据预处理篇
- Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程
- java $.class_java文件编译后额外生成的$1.class是怎么一回事
- Spring学习7之自动装配Bean03
- 编程方法学7:循环与一半
- 操作系统(4) -- 文件管理
- ECharts - 极坐标系下的堆叠柱状图
- linux 删除mysql_MySQL— Linux下解压包方式安装
- es6 TypedArray视图
- 数模论文研读--------09年B题:眼科病床
- lazyload 加载
- 20155235 信息安全技术概论 第二次实验报告
- FBI或被允许隐瞒解锁iPhone技术 不向苹果公开
- 使用JS实现表单验证
- 迅盘从入门到精通 彻底告别WIN7关机烦恼 T400亲测
- TFS 2010安装指南
- Python3抓取猫眼电影排行
- js保留两位小数并四舍五入的方法
- OpenGL底层实现原理
- 移动硬盘数据莫名丢失,如何才能恢复
热门文章
- python规则网格插值_Python中规则网格上的插值
- oracle外键如何创建索引,子表建立外键的索引问题
- mysql启用keepalive_keepalive+mysql 主主配置
- php如何包含html模板,php html模板中怎么使用类似include的功能?
- linux 7 vsftpd 配置,CentOS7 安装并配置使用vsftpd
- java tablemodel_高级组件——表格模型TableModel
- 文档扫描仪的构建——使用Python,OpenCV应用透视变换来获得图像的自顶向下的“鸟瞰图”
- Latex使用简单总结
- 和12岁小同志搞创客开发:手撕代码,做一款温湿度检测器
- 力扣(LeetCode)刷题,简单题(第25期)