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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵磊 黑马帝   /  2011-7-27 21:32  /  2262 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我无意中看见了对于异常有两种类型error和exception,谁能解释下它们之间有什么区别啊?

4 个回复

倒序浏览

回复 楼主 的帖子

我觉得error是在编译时发生的,反之exception是在运行时发生的。
一个是语法错误,一个是另外一种错误。在程序执行的时候 出现的。
回复 使用道具 举报
黑马网友  发表于 2011-7-27 22:40:16
藤椅
error和exception之间的区别,这区别对于如何正确的处理问题而言非常重要(见附1,“简要的叙述error和exception”)。就像Mary Campione的“The Java Tutorial”中所写的:“exception就是在程序执行中所发生的中断了正常指令流的事件(An exception is an event that occurs during the execution of a program that disrupts the normal flow of instructions.)。”依照美国传统辞典(American Heritage Dictionary)所解释的,error就是:“效果或情况背离了可接受的一般法则(The act or an instance of deviating from an accepted code of behavior.)”



背离(deviation)、中断(disruption),有什么区别呢?让我们来这样想:如果你驱车在公路上行驶时有人拦住了你,这就叫做“中断”。如果车根本就无法发动,那就叫做“背离”。
回复 使用道具 举报
黑马网友  发表于 2011-7-27 22:54:04
板凳
error是外部错误,属于编写错误,这个错误无法通过编译器编译的。而exception能通过编译器的编译,但是执行的时候会报错,是属于内部问题。
回复 使用道具 举报
黑马网友  发表于 2011-7-27 23:14:40
报纸
Error:是系统中的错误,,总是不可控制的(unchecked) ,由java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理,程序员是不能改变,处理的,在程序编译的时候出现的错误.只有通过修改程序才能修正Error;

EXeption:是在程序运行的时候捕捉的错误,可被控制(checked) 或不可控制的(unchecked) ,是所有异常类的父类,其子类对应了各种各样的异常事件,一般需要用户显式的声明或捕获。
共同学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马