A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩增亮 黑马帝   /  2011-9-29 20:29  /  1983 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

error和exception有什么区别?

5 个回复

倒序浏览
Error表示系统级的错误和程序不必处理的异常,
Exception表示需要捕捉或者需要程序进行处理的异常。
你有自行车
车把坏了是error,你的车不能骑了
车把可能因为没有加润滑油,这是异常
Error类和Exception类都继承自Throwable类。
二者的不同之处:
Exception:
1.可以是可被控制(checked) 或不可控制的(unchecked)
2.表示一个由程序员导致的错误
3.应该在应用程序级被处理  
Error:
1.总是不可控制的(unchecked)
2.经常用来用于表示系统错误或低层资源的错误
3.如何可能的话,应该在系统级被捕捉
[ 本帖最后由 宁超 于 2011-09-29  20:36 编辑 ]

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2 回答的不错哦!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-29 21:53:12
藤椅
error 是指程序的错误,是必须要解决的,不然的话,程序就无法正常运行。
Exception 是指程序运行过程出现的异常,可以不处理,用 throw 或 throw 往外抛出异常,不影响程序的运行。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-30 11:55:19
板凳
error(错误):编译时出现,必须解决才能编译通过
exception(异常):运行时可能出现。
错误是不允许的,异常是允许的。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-30 15:59:44
报纸

异常

error是指我们写代码时候的出现的错误 如果我们是用的是ide来编写代码时工具会自动给你提示,这和程序没任何关系,比如一个单词中字母没写全,打标点符号出错,等等!错误是程序员弄出来的bug。

Exception是表示需要捕捉或者需要程序进行处理的异常。这个人为的行为无关,而是由系统决定的!
异常分为编译时异常和运行时异常!
编译时异常: 程序正确,但因为外在的环境条件不满足引发。例如:用户错误及I/O问题,-程序试图打开一个并不存在的远程Socket端口。这不是程序本身的逻辑错误,而很可能是远程机器名字错误(用户拼写错误)。程序开发者必须考虑并处理这个问题。Java编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。
运行期异常: 这意味着程序存在bug,如数组越界,0被除,入参不满足规范等等!这类异常需要更改程序来避免,Java编译器强制要求处理这类异常。
总结:-------错误: 一般很少见,也很难通过程序解决。它可能源于程序的bug,但一般更可能源于环境问题,如内存耗尽。错误在程序中无须处理,而有运行环境处理。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-10-4 16:01:57
地板
error是必须要解决才能继续让程序运行
exception是可以解决也可以不解决。简而言之就是可也抛可以Try。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马