| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:【原创】检查异常checked exceptions和未检查异常unchecked exceptions简介
只看楼主 加入收藏
日知己所无
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:38
帖 子:427
专家分:2071
注 册:2014-3-22
结帖率:92.86%
收藏
 问题点数:0 回复次数:1 
【原创】检查异常checked exceptions和未检查异常unchecked exceptions简介
Java语言里面定义了【检查异常checked exceptions】和【未检查异常unchecked exceptions】两种类型的异常

参考:
http://docs.
http://docs.

语言规范是英语的,本身也比较复杂,相对来讲比较难以记忆

简单点儿说,可以这么理解:
调用方可以通过正确的调用来回避掉的异常,为未检查异常【一般可以视为是程序自身的问题】
无论调用方怎么努力,都无法回避掉的异常,为检查异常【一般可以视为是程序以外的问题】

比如NumberFormatException,查一下API文档可以知道,是继承自RuntimeException的异常
而所有的RuntimeException异常都是未检查异常,所以代码当中即使不加上try和catch也能通过编译,甚至运行

假设传递给Integer.parseInt的参数不是数字形式的字符串(比如"10243"),而是"这下我明白了什么是Exception"的话,就会发生运行时异常

那,反过来,啥样的异常属于检查异常呢?
比如IOException
嗯,无论你的程序多么完美,你调用时事前检查了文件是否存在,你是否有权限读取那个文件
最终,你调用读取文件的方法时,都有可能发生IOException【比如硬盘坏了】

Java为什么区分这两种异常呢?
因为Java语言本身可以在编译阶段提示你,务必给所有检查异常加上try/catch处理,否则会给出编译时error【Eclipse里的小红叉叉】。
甚至可以通过简单的鼠标点击,帮你把应该加上的检查异常处理自动的加上。

【如果被调用的方法 声明里有抛出异常的,则调用者要么抓取这个异常,要么在调用方法里抛出同样的异常】指的是检查异常。
搜索更多相关主题的帖子: checked 英语 Java 
2015-03-01 16:31
倞矞
Rank: 1
等 级:新手上路
帖 子:10
专家分:9
注 册:2014-11-24
收藏
得分:0 
2015-03-15 22:09
快速回复:【原创】检查异常checked exceptions和未检查异常unchecked exception ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011961 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved