java 运行时异常和受控异常

分别说明什么是运行时异常和什么是受控异常那什么时候该用运行时异常什么时候该用受控异常呢?小弟去一软件公司的时候面试就有这一题哦……... 分别说明什么是运行时异常和什么是受控异常
那什么时候该用运行时异常什么时候该用受控异常呢?

小弟去一软件公司的时候面试就有这一题哦……
展开
 我来答
smluyi
推荐于2016-09-27 · TA获得超过1356个赞
知道大有可为答主
回答量:515
采纳率:0%
帮助的人:811万
展开全部
楼上两位兄弟都有些错误,下面是我的见解,好久没手打这么多,好累啊
受控异常就是checked Exception ,这些异常在你写代码时候必须用try{}catch语句抓住,或者throw抛出,不然代码编译时候就通不过。比如IOException ,SqlException,FileNotFoundExcption等等,
而运行时异常是你写代码的时候不需要catch,或者throw就可以通过编译的异常,一般由于程序员的错误引起的,比如NullPointException异常,数组越界异常,这些都是没法在 try catch中恢复的,异常需要程序员细心检查出错误。
而error是继承throwable接口,但和异常是不同的概念,error基本上就是jvm运行时内存耗尽,系统崩溃等等重大的错误,级别高于Exception,而且没法恢复
Foxcoming
2009-03-31 · TA获得超过692个赞
知道小有建树答主
回答量:718
采纳率:0%
帮助的人:819万
展开全部
你说的RuntimeException吧?
RuntimeException和Java的异常throw机制有关系,简单的讲,这是由于Java语言的强制性约定和编码实际需要的折中。
Java语言规定对于全部异常(Throwable)均需要显式处理,程序要么选择声明Throws,要么选择catch。那么,对于运行时会出现的异常,比如:ArrayIndexOutOfBound、OutofMemory这类绝大部分语句都会出现的异常,写程序会很累,如下代码:
// OutofMemory
int array [] = new int [5] ;
// ArrayIndexOutOfBound
int i = array [1] ;
就要写try - catch,太麻烦了。
所以约定了这些异常为RuntimeException,可以不显式处理。

相比之下,C#就学乖了,任何异常都不需要显式处理,但这也是另一个极端,导致从函数声明上看不出来需要处理的异常。
Java的处理比较好一点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twhwj502
2009-03-31 · TA获得超过164个赞
知道答主
回答量:185
采纳率:0%
帮助的人:152万
展开全部
我只听过受控bean,没听过受控异常呀。。
不过想来应该差不多。。

运行时异常是在java程序在虚拟机中运行时产生的异常,比如1除以0的被除数为零的异常。

受控异常应该是说,异常是可控制的,我们可以根据条件的判断来手动抛出不同的异常。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jrj2330345
2009-03-31 · TA获得超过253个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:87.8万
展开全部
异常就两种 运行异常 , try catch异常 另外一个和异常同级叫 error
他问的你是try catch异常 看来你被绕进去了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式