通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

error 和 exception的区别

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的区别的内容希望对大家有帮助。

相关文章