15 为什么会有异常?
来源:互联网 发布:用户行为分析 算法 编辑:程序博客网 时间:2024/04/29 10:05
为什么会有异常?
为了使程序更好的运行。
很多教程里都举例:10/0 (0不能作为分母),这样会报异常。
我常想,那么为什么不用if…else来解决这件的问题。
然而,真实的情况是:我们并不知道未来会发生什么。
比如说,电脑一个文件夹路径,本来我用的好好的,突然有一天,来了一个人,将这个文件剪切走了,我并不知道这个文件被剪切走了,无法再找到这样的文件了,这样会造成很多不必要的误会。所以,我们打算使用一个异常处理机制throws,相当于一个调解员,告诉我这个文件已经不存在了。当然,我们还可以自己处理try…catch…finally。
只要try捕获到异常,我们要么catch,要么finally,因为我们不能放着异常不管。
所以就有下面三种组合方式:
- try…catch
- try…finally
- try…catch…finally
什么时候try,什么时候throws呢?
根据上面所看到的,如果后面的事要继续处理catch/finally,那么我们就要用try,如果不用继续处理,直接throws就可以了
注意:这里是throws,而不是throw。
throws 与 throw之间的区别是什么呢?
throws
- 用在方法声明后面
- 可以跟多个异常类名,用逗号隔开
- 由方法的调用者来处理
throw
- 用在方法体内
- 只能抛出一个异常对象名
- 由方法体内的语句处理
0 0
- 15 为什么会有异常?
- 为什么会有异常
- 为什么会有serialVersionUID
- 为什么会有“剩男剩女”
- 为什么会有句柄
- 为什么会有hibernate
- 为什么会有servlet?
- 为什么会有JavaScript???
- 为什么会有java,为什么会有.net
- 为什么会有Java,为什么会有.NET
- 06 为什么会有继承?为什么会有super?
- 为什么会有这个blog
- 为什么会有类型转换?
- 为什么物体会有颜色
- 为什么会有Presentation Error
- java为什么会有serialVersionUID
- 为什么会有字符串函数?
- 为什么会有NodeJS之一
- docker 容器管理常用命令
- Android SQLite数据库(事务)的使用,多线程CRUD并发操作(可用于实际开发)
- Android使用monkey进行简单测试
- 侧滑
- DataSet与XML互转辅助类
- 15 为什么会有异常?
- [tyvj1024]外星人的密码数字
- css的文本格式 表格 浮动
- yocto 介绍
- #221 – Changing a Brush at Run-Time(在Run-Time的时候改变画刷)
- 计算机硕士的核心竞争力
- 大规模批处理系统
- Ant+Jmeter搭建测试环境
- 各语言的组件管理工具