当前位置: 首页 > 编程日记 > 正文

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

相关文章:

silverlight学习之storyboard (动画)

利用silverlight的storyboard可以很方便的制作一些简单的“动画”,比如控制一些控件double类型或者color类型的属性值的变化。下面简单地说其中最简单的两个方面:DoubleAnimation(控制控件double类型的属性)和ColorAnimation&…

记一次Sonar执行失败的修复

为什么80%的码农都做不了架构师?>>> 前提 在提高代码质量方面公司采用的是JenkinsSonar的方案,通过设定扫描规则对现有代码工程进行扫描。代码扫描后会产生不同级别的问题,例如Bugs、漏洞、坏味道等。针对每个工程的发布是用…

java用if语句调用方法_J2SE中main函数中的if语句想要调用另一个类的方法怎么能实现?...

日常生活中,要完成一件复杂的功能,我们总是习惯把“大功能”分解为多个“小功能”以实现。在C程序的世界里,“功能”可称呼为“函数”,因此“函数”其实就是一段实现了某种功能的代码,并且可以供其它代码调用。一个程序…

Creating Apps With Material Design —— Defining Custom Animations

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出。谢谢定义动画在材料设计动画让用户与您的应用程序进行交互时,为他们的行为提供反馈。并提供可视化的连续性。该材料的主题提供了一些默…

怎么剪切一段音乐其中的片段

剪切音乐想必大家都不陌生,在各种手机铃声中我们都需要用到它来制作个性有趣的来电铃声,那么大家知道有什么简便的方法使用吗?小编有一个办法就是利用剪切工具的功能就可以完成了,我们就不用不用一点一点的设置音频片段了&#xf…

无需重启, 使用Xephyr调试awesome

每次改了awesome总是心里忐忑的重新启动awesome 稍有不慎就会导致awesome加载失败 而使用默认配置加载. 对于改了一大堆快捷键绑定的人来说, 默认配置简直没法用了... 有时候还会直接起不来...需要用到killall awesome才能退回到lightdm的登录界面偶然发现xephyr这个工具 可以虚…

java程序员遇到的问题_Java 程序员平时最常遇到的故障:系统OOM (一)

作为 Java 程序员而言,先不考虑自己系统外部依赖的缓存、消息队列、数据库等等东西挂掉,就我们自己系统本身而言,最常见的挂掉的原因是什么?其实就是系统OOM,也就是所谓的内存溢出!什么是内存溢出&#xff…

java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

http://langgufu.iteye.com/blog/2107023 java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用MappedByteBuffer。 MappedByteBuffer是java nio引入的文件内存映射方案&#xf…

HTML5 Canvas编写五彩连珠(3):设计

在看了几篇Canvas相关的文章后,发现前两节的代码实现还是有问题,因为知道的少,所以只能在自己已知的知识上做实现。不过还好,这是一个发现的过程,也是一个纠错和完善的过程。我第一次尝试一边学习一遍写博客&#xff0…

SQL面试宝典一:

1.什么是sql Injection(sql 注入)?如何防止? 答:是一种恶意将sql代码添加到输入参数中,传递到sql服务器解析并执行的一种攻击手法。 防止:1.对用户的输入进行校验,可以通过正则表达…

java注解的执行顺序_深入理解Spring的@Order注解和Ordered接口

前言Spring的Order注解或者Ordered接口大家都知道是控制顺序的,那么它们到底是控制什么顺序的?是控制Bean的注入顺序,还是Bean的实例化顺序,还是Bean的执行顺序呢?那么我们先直接给出结论再来验证结论。结论&#xff1…

数据驱动安全需三大核心新技术

要做到数据驱动安全,齐向东认为需要三大核心技术。第一个核心技术是大数据采集器,第二个是大数据引擎,第三个是机器学习挖掘、重要安全问题定位准确。转载于:https://www.cnblogs.com/1992825-Amelia/p/4854220.html

[转]BI 问答

http://blog.bridata.ca/?cat16 前几天Post 了一些BI 的面试问题,感兴趣的人很多,有很多人问我答案以此来评估一下自己的知识水平。坦白地说我没有写在纸上的具体答案,事实上每个问题也没有具体和精确的答案,所谓面试就不是笔试&…

没有学不会的C++:用户自定义的隐式类型转换

C 中的类型转换包含内建类型的转换和用户自定义类型的转换,而这两者都又可分为隐式转换和显示转换,所以一共有如下四象限表格中的 A、B、C、D 四种情况 隐式转换显示转换(casting)内建类型转换 (int, float ...)AB用户自定义类型转换(类 vs 类; 类 vs 内…

python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

安装ScrapyScrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv、json等文件中。首先我们安装Scrapy。pip install scrapy在Windows上安装时可能会出现错误,提示找不到Microsoft Visual C。这时候我们…

执行eclipse,迅速failed to create the java virtual machine。

它们必须在一排,否则会出现The Eclipse executable launcher was unable to locate its companion shared library的错误 打开eclipse文件夹下的eclipse.ini文件。改动–launcher.XXMaxPermSize属性,当中此属性有两处 -startup plugins/org.eclipse.equi…

vue打包后图片找不到情况

打包之前需要修改如下配置文件: 配置文件一:build>>>utils.js (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件(图片路径失效)的问题) 配置文件二:config>>>index.js(修改a…

UBUNTU安装SSH和xrdp

一、安装SSH,通过PUTTY访问 命令:sudo apt-get install ssh 查看:netstat -l 二、安装xrdp,通过远程桌面访问 命令:sudo apt-get install xrdp 开启远程桌面访问权限 系统-->首选项-->remote desktop 三、去掉远…

python中opencv中inrange用法_python-opencv中的cv2.inRange函数

本次目标是将一副图像从rgb颜色空间转换到hsv颜色空间,颜色去除白色背景部分具体就调用了cv2的两个函数,一个是rgb转hsv的函数具体用法hsv cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV)然后利用cv2.inRange函数设阈值,去除背景部分mask cv2…

[转]C++11 随机数学习

相对于C 11之前的随机数生成器来说,C11的随机数生成器是复杂了很多。这是因为相对于之前的只需srand、rand这两函数即可获取随机数来说,C11提供了太多的选择和东西。 随机数生成算法: 随机数生成算法有很多,C11之前的C/C只…

Linux Shell ssh登录脚本

Linux 登陆服务器敲命令太多,某时候确实不便,所以就用shell写了一个 我的blog地址: http://www.cnblogs.com/caoguo 一.说明 支持秘密和密钥两种格式用户名和密码都是写文件的,明文保存二.配置 密码文件配置:序号:IP:端口:用户:密码:说明 1:192.168.88.128:22:root:toor:虚拟机…

C# 温故而知新:Stream篇(二)

C# 温故而知新:Stream篇(二) TextReader 和StreamReader 目录: 为什么要介绍 TextReader? TextReader的常用属性和方法 TextReader 示例 从StreamReader想到多态 简单介绍下Encoding 编码 StreamReader 的定义及作用 S…

usaco Pollutant Control

第一问是求最小割。第二问求最小割中集合中边最少的集合的大小。 第三问求集合中边最少且字典序最小的边的下标。 第一问直接求最大流就能解,第二问将原来的边的容量都改为1,求出来的最大流就是元素最少的一个最小割的大小。 将容量都改为1之后&#xff…

洛谷P4705 玩游戏(生成函数+多项式运算)

题面 传送门 题解 妈呀这辣鸡题目调了我整整三天……最后发现竟然是因为分治\(NTT\)之后的多项式长度不是\(2\)的幂导致把多项式的值存下来的时候发生了一些玄学错误……玄学到了我\(WA\)的点全都是\(WA\)在\(2\)的幂次行里…… 看到这种题目二话不说先推倒 \[ \begin{aligned}…

blast程序 介绍 简介

每次找都挺麻烦,又记不住,于是抄下来: blastp:将待查询的蛋白质序列及其互补序列一起对蛋白质序列数据库进行查询;blastn:将待查询的核酸序列及其互补序列一起对核酸序列数据库进行查询;blastx:先将待查询的核酸序列按…

java泛型的实现和原理_java 泛型实现原理

泛型思想最早在C语言的模板(Templates)中产生,Java后来也借用了这种思想。虽然思想一致,但是他们存在着本质性的不同。C中的模板是真正意义上的泛型,在编译时就将不同模板类型参数编译成对应不同的目标代码,List和List是两种不同的…

java out of range_关于Parameter index out of range求解决办法

程序:提示参数越界,但我实在不知道我到底哪里越界了。明明该我那样写的嘛。求高手帮我看看,现在我是弄得我有气无力了!要死了。在去死亡的路上等着你帮帮我!Document : replyokCreated on : 2008-9-29, 6:05:31Autho…

FineReport——权限分配以及自定义首页

权限分配可以有两种方法,第一种方法是根据部门职位分配权限,第二种是根据角色分配权限; FR自带有三个JQ对象,用以保存用户名参数/角色参数/部门参数——$fr_username/$fr_authority/$fr_userposition 根据部门职位: 以…

去掉[]中的英文(正则表达式)C#

这个问题本来是以为信息科技大学的老师问蒋委员长的问题,蒋委员长用正则表达式完成了这个问题 1,问题的情况有哪些? abc[abc]abc,abc[-abc]abc,abc[一abc]abc,abc[一abc一]abc等等. 2,问题的解决目标? 写一个通用的方法来完成提出的问题. 3,解决方案 -->正则表达式方法 其…

Event Loop

事件队列 Javascript是单线程,单线程就意味着所有任务需要排队。然后会将所有任务分成两类:同步任务和异步任务!同步任务:在主线程上执行的任务,只有前一个任务执行完成,才会执行后一个!异步任务…