黑马程序员技术交流社区

标题: error和exception的区别 [打印本页]

作者: 赵磊    时间: 2011-7-27 21:32
标题: error和exception的区别
我无意中看见了对于异常有两种类型error和exception,谁能解释下它们之间有什么区别啊?
作者: 袁春龙    时间: 2011-7-27 21:50
标题: 回复 楼主 的帖子
我觉得error是在编译时发生的,反之exception是在运行时发生的。
一个是语法错误,一个是另外一种错误。在程序执行的时候 出现的。
作者: 匿名    时间: 2011-7-27 22:40
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
error是外部错误,属于编写错误,这个错误无法通过编译器编译的。而exception能通过编译器的编译,但是执行的时候会报错,是属于内部问题。
作者: 匿名    时间: 2011-7-27 23:14
Error:是系统中的错误,,总是不可控制的(unchecked) ,由java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理,程序员是不能改变,处理的,在程序编译的时候出现的错误.只有通过修改程序才能修正Error;

EXeption:是在程序运行的时候捕捉的错误,可被控制(checked) 或不可控制的(unchecked) ,是所有异常类的父类,其子类对应了各种各样的异常事件,一般需要用户显式的声明或捕获。
共同学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2