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的方式处理异常相关推荐

  1. Java基础知识强化之IO流笔记42:IO流总结(图解)

    1. IO流总结(图解) 转载于:https://www.cnblogs.com/hebao0514/p/4868913.html

  2. Java基础知识强化之IO流笔记41:字符流缓冲流之复制文本文件案例02(使用 [ newLine() / readLine() ] )(重要)...

    1. 使用字符流缓冲流的特殊功能 [ newLine() / readLine() ] 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中  数据源: a.txt -- 读取数据 ...

  3. Java基础知识强化之IO流笔记32:转换流之OutputStreamWriter的使用

    1. OutputStreamWriter的使用 OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流 OutputStreamWriter ...

  4. Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例

    1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...

  5. Java基础知识强化之IO流笔记59:打印流

    1. 打印流 (1)分类: • 字节打印流   PrintStream • 字符打印流   PrintWriter (2)打印流的特点: • 只能写数据,不能读数据 • 只能操作目的地,不能操作数据源 ...

  6. Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)

    1.这个问题是如下的:    有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月:   ...

  7. java不死神兔总数_Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)...

    1.这个问题是如下的: 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月:   1 第 ...

  8. Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据

    1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源  UDP协议接 ...

  9. Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介

    1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...

最新文章

  1. 深度学习——数据预处理篇
  2. Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程
  3. java $.class_java文件编译后额外生成的$1.class是怎么一回事
  4. Spring学习7之自动装配Bean03
  5. 编程方法学7:循环与一半
  6. 操作系统(4) -- 文件管理
  7. ECharts - 极坐标系下的堆叠柱状图
  8. linux 删除mysql_MySQL— Linux下解压包方式安装
  9. es6 TypedArray视图
  10. 数模论文研读--------09年B题:眼科病床
  11. lazyload 加载
  12. 20155235 信息安全技术概论 第二次实验报告
  13. FBI或被允许隐瞒解锁iPhone技术 不向苹果公开
  14. 使用JS实现表单验证
  15. 迅盘从入门到精通 彻底告别WIN7关机烦恼 T400亲测
  16. TFS 2010安装指南
  17. Python3抓取猫眼电影排行
  18. js保留两位小数并四舍五入的方法
  19. OpenGL底层实现原理
  20. 移动硬盘数据莫名丢失,如何才能恢复

热门文章

  1. python规则网格插值_Python中规则网格上的插值
  2. oracle外键如何创建索引,子表建立外键的索引问题
  3. mysql启用keepalive_keepalive+mysql 主主配置
  4. php如何包含html模板,php html模板中怎么使用类似include的功能?
  5. linux 7 vsftpd 配置,CentOS7 安装并配置使用vsftpd
  6. java tablemodel_高级组件——表格模型TableModel
  7. 文档扫描仪的构建——使用Python,OpenCV应用透视变换来获得图像的自顶向下的“鸟瞰图”
  8. Latex使用简单总结
  9. 和12岁小同志搞创客开发:手撕代码,做一款温湿度检测器
  10. 力扣(LeetCode)刷题,简单题(第25期)