文档章节

异常的区别

古月哥欠
 古月哥欠
发布于 2015/12/10 01:07
字数 313
阅读 3
收藏 0
e.printStackTrace( )是打印异常栈信息,而throw new RuntimeException(e)是把异常包在一个运行时异常中抛出。

我们常看见这种写法
try{
....

}catch(Exception e){
e.printStackTrace( );
throw new RuntimeException(e);

}
这是处理没法进一步处理的异常的一般做法。try块中出现了一个异常,它被catch住了,我们首先要在标准输出上打印出异常但是如果没有throw这句,这个错误就静悄悄地被catch块吃掉了,程序会继续运行。可这个时候很可能你的程序的状态已经不对了,继续下去也没有什么意义,所以应该继续抛出这个异常。你当然可以写throw e;,但是这个e是一般的异常,如果这样抛出的话,你得在这个函数头上用throws来声明,比如:
public void abc() throws Exception
然后调用这个函数的函数也还得这么干,所以一般的处理是把e包装成运行时异常:new  RuntimeException(e),这样就不需要在函数头声明了。

但这只是一般的处理方法,在实际程序中不可不顾实际情况和需求生搬硬套。


© 著作权归作者所有

共有 人打赏支持
古月哥欠
粉丝 0
博文 4
码字总数 4848
作品 0
海淀
异常相关概念

[x] Error 和 Exception有什么区别 [x] 什么是受检查的异常,什么是运行时异常 运行时异常与一般异常有何异同 [ ] 什么是异常链 [x] throw 和 throws 有什么区别? [ ] 简述一个你最常见到的...

AmorFatiYJ
2017/12/22
0
0
Java面试题之Java 的异常处理

1. Java中异常分为哪些种类 (1) 编译时异常,也叫强制性异常,和CheckedException (2)运行时异常,也叫没强制性异常和RuntimeException 2.error和exception的区别? error一般是指在虚拟...

年轻诠释我们的梦想_705b
05/16
0
0
JAVA异常处理原则和log4j输出详细异常分析

1.多用try,catch;不要一个try,catch包含所有内容 好处:不同模块抓取不同异常,某一模块异常挂了,不影响其他模块的程序的进行 2.多写几个catche;尽量不要使用Exception这个大异常去包容所有...

科肥
2015/04/01
0
1
8张图理解Java

理解Java 1.字符串不变性 2.equals()方法、hashCode()方法的区别 HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于: 3.Java异常类的层次结构 图中红色部分为受检查异常...

Panda_Jerry
2017/10/31
0
0
java经典面试笔试题(扫盲贴)

1、什么是对象序列化,为什么要使用? 所谓对象序列化,就是把一个对象以二级制的方式保存到硬盘上,方便远程调用。 2、值传递与引用传递的区别? 值传递就是把一个对象的值传给一个新的变量...

Carbenson
2015/09/21
211
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 反向跟踪

当反向跟踪(Trackback )被启用后,在任何你链接到可用启用自动发现功能的外部页面中,Confluence 将会自动发送一个方向跟踪 ping,这个 ping 能通知链接的页面有了内容改变。 Confluence 页...

honeymose
9分钟前
0
0
日期和时间API - 读《Java 8实战》

日期与时间 LocalDate 创建一个LocalDate对象并读取其值 // 根据年月日创建日期LocalDate date1 = LocalDate.of(2014, 3, 18);// 读取System.out.println(date1.getYear()); // 2014Sys...

yysue
16分钟前
0
0
8月15日任务

8月15日任务 Memcached命令行 • telnet 127.0.0.1 11211 • set key2 0 30 2 ab STORED get key2 VALUE key2 0 2 ab END 实例: [root@localhost 02]# telnet 127.0.0.1 11211-bash: te......

寰宇01
29分钟前
1
0
LNMP架构(Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间)

Nginx访问日志 1.打开配置文件,搜索log_format vim /usr/local/nginx/conf/nginx.conf 2.访问日志常用变量含义 $remote_addr : 客户端IP(公网IP) $http_x_forwarded_for : 代理服务器的IP ...

蛋黄_Yolks
29分钟前
0
0
lombok 不用再写pojo的getset

java实体类不写get/set方法 1、下载地址https://projectlombok.org/download Myeclipse、eclipse安装lombok Lombok是一种Java实用工具,可以帮助开发人员消除Java的冗长,具体看lombok的官网...

木之下
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部