`

Error与Exception有什么区别

 
阅读更多

Error类和Exception类都继承自Throwable类。

  • Error的继承关系:

java.lang.Object 
 java.lang.Throwable
      java.lang.Error

 

  • Exception的继承关系:

java.lang.Object
java.lang.Throwable
     java.lang.Exception

 

 

二者的不同之处:

 

Exception:

1.可以是可被控制(checked) 或不可控制的(unchecked) 

2.表示一个由程序员导致的错误 

3.应该在应用程序级被处理

 

Error:

1.总是不可控制的(unchecked) 

2.经常用来用于表示系统错误或低层资源的错误 

3.如何可能的话,应该在系统级被捕捉

 

 

 

Java 中定义了两类异常: 


  1) Checked exception: 这类异常都是Exception的子类 。异常的向上抛出机制进行处理,假如子类可能产生A异常,那么在父类中也必须throws A异常。可能导致的问题:代码效率低,耦合度过高。
  
  2) Unchecked exception: 这类异常都是RuntimeException的子类,虽然RuntimeException同样也是Exception的子类,但是它们是非凡的,它们不能通过client code来试图解决,所以称为Unchecked exception 。

 

 

Java 中异常类的继承关系图:



 

分享到:
评论

相关推荐

    error与Exception的区别

    在编程世界中,错误处理是不可或缺的一部分,Java和许多其他编程语言中,"error"和"exception"这两个术语经常被提及。理解它们之间的区别对于编写健壮和可靠的代码至关重要。 首先,我们来看"error"。在Java中,`...

    Java中Error与Exception的区别.doc

    Java中Error与Exception的区别 Java 中的 Error 和 Exception 是两个不同的概念,它们都是 Throwable 的子类,但它们之间存在着许多不同之处。 首先, Error 类和 Exception 类都继承自 Throwable 类,这一点是...

    php中error与exception的区别及应用

    error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多 java中的Object继承结构如下: Object—->Throwable——–> Exception —-> RuntimeException | Error Error都是unchecked...

    第2讲 Exception和Error有什么区别1

    【Exception和Error的区别】 在Java编程中,Exception和Error都是基于`Throwable`类的子类,它们构成了Java异常处理机制的基础。理解两者的差异对于编写健壮的代码至关重要。 1. **Exception**: Exception是程序...

    Java中Error和Exception的区别.pdf

    理解`Error`和`Exception`的区别对于编写健壮的Java代码至关重要。在实际编程中,应该尽量避免让程序抛出`Error`,因为这通常意味着系统层面的问题,而`Exception`则应当被适当地捕获和处理,以提高程序的稳定性和...

    2Exception和Error有什么区别1

    Java 语言中的异常处理是其核心特性之一,它通过`Throwable`、`Exception`和`Error`类层次结构来组织和区分不同的错误情况。`Throwable`是所有异常和错误的基类,它分为两大类:`Exception`和`Error`。 `Exception`...

    Error类和Exception类剖析

    总的来说,理解Error和Exception的区别对于编写健壮的Java代码至关重要。正确地处理和区分这两类异常可以帮助我们及时识别和修复问题,提高程序的稳定性和可靠性。在编程实践中,应尽可能避免抛出Error,因为它们...

    ErrorException.md

    ErrorException.md

    Demo - Replace Error Code With Exception

    "Demo - Replace Error Code With Exception" 这个主题着重于将传统的错误码机制替换为异常处理机制,以提高代码的可读性、可维护性和异常处理的效率。 错误码通常是通过返回特定的整数值来指示函数或方法执行期间...

    捕获Throwable和捕获Exception的区别验证

    ### 捕获Throwable与捕获Exception的区别 在Java编程中,异常处理是确保程序健壮性和稳定性的重要机制之一。通常我们使用`try-catch`语句来处理可能发生的异常情况。而在Java中,所有异常类都继承自`Throwable`类,...

    Java异常世界:Error与Exception的辨析之旅

    3. **健壮性**:Java在编译时和运行时都会进行类型检查,有助于避免许多常见的编程错误。 4. **自动内存管理**:Java具有垃圾回收机制,自动管理内存,减少内存泄漏和其他内存相关问题。 5. **多线程**:Java内置了...

    exception C++ & More exception C++

    例如,`throw std::runtime_error("Error message");`会抛出一个运行时错误。 4. **异常捕获**:使用`try-catch`块可以捕获和处理异常。`try`块包含可能抛出异常的代码,而`catch`块则定义了如何处理这些异常。例如...

    exception 异常处理 exception

    Java中的异常体系主要分为两大类:`Error` 和 `Exception`。 - **Error**:通常表示系统级的错误,例如内存不足等,这类问题程序员通常无法避免,也不应该去处理。 - **Exception**:表示可以通过程序设计来避免或...

    Struts中ActionError学习

    最后,我们来讨论一下ActionError与Exception Handling的关系。在Struts中,你可以定义全局的异常处理器(Global Exception Handler)来统一处理所有未捕获的异常。这可以通过在struts.xml中定义`<global-exception-...

    java Exception

    `Throwable`类有两个主要的子类:`Error`和`Exception`。 - **Error**:通常用于指示系统级错误,这类错误往往是程序无法处理的(例如,虚拟机错误),因此不应该被程序捕获。 - **Exception**:代表可以被程序捕获...

    wanglijun93#AndroidNote#Java中Error和Exception2

    2. 运行时异常(RuntimeException) 3. 被检查的异常(Checked Exception) 1.增强程序堆内存的处理效率 2.设置缓存大小

    Matlab COM之MWMCR::EvaluateFunction error问题解决

    4. **数据类型不匹配:** 输入参数类型与函数期望的类型不一致,例如函数期望的是向量或矩阵而非结构体。 #### 解决方案 1. **确认函数定义:** - 首先确保`sim`函数存在于Matlab的路径中。可以通过`which sim`...

Global site tag (gtag.js) - Google Analytics