error 和 exception的区别:Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误;Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。
一、error 和 exception的区别
首先,Error类和Exception类都是继承Throwable类
Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。
Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。
Exception又分为两类:
CheckedException:(编译时异常) 需要用try——catch显示的捕获,对于可恢复的异常使用CheckedException。
UnCheckedException(RuntimeException):(运行时异常)不需要捕获,对于程序错误(不可恢复)的异常使用RuntimeException。
Error和Exception就像是水池和水池里的水的区别:
“水池”,就是代码正常运行的外部环境,如果水池崩溃(系统崩溃),或者池水溢出(内存溢出)等,这些都是跟水池外部环境有关。这些就是java中的error
“水池里的水”,就是正常运行的代码,水污染了、有杂质了,浑浊了,这些影响水质的因素就是Exception。
延伸阅读:
二、Java中的List
List容器的中的元素没有顺序,可以重复。List容器中的元素都对应一个整型序号记载着其在容器中的位置。List主要分为ArrayList和LinkedList,Vector是一个已经被弃用的类,因为他是多线程同步的,而我们平时使用的时候都是非同步的,使用同步的坏处就是会在记录上加锁,防止多个程序访问同一条数据导致数据不同步。这样会导致访问速度变慢。Stack是满足“后进先出”规则的容器。
.LinkedList:其数据结构采用的是链表,这种结构的优势是删除和添加的效率很高,但随机访问元素时效率较ArrayList类低。可以实现所有的栈功能。
以上就是关于error 和 exception的区别的内容希望对大家有帮助。