我们都知道RuntimeException 和 Checked Exception 在使用语法上的区别,那么具体在什么情况下该使用RuntimeException呢?
RuntimeException 表示的是一种程序错误,是由于调用者没有遵循API规范,错误调用引起的,例如我们熟悉的NullException, IndexOutOfBoundsException(数组索引越界访问异常),ArithmeticException(运算错误异常),IllegalArgumentException(非法参数异常),ClassCastException(类型转换异常)。
Checked Exception一般与运行的环境相关,相同的数据,在不同的时间点,不同的环境下运行,就有可能出现不一样的结果,像我们熟知的ClassNotFoundException,SQLException。 如果你希望开发人员捕获到这种异常,并愿意提供给他们更多的关于异常的信息,以尽可能的将程序从异常中恢复,这个时候,我们就该考虑使用Checked Exception。
在实际的开发中,有的时候会出现相互矛盾的情况,这个时候就要看我们更关注哪方面。例如 CloneNotSupportedException 。按照类Object 的 clone()方法的说明,如果对象的类不支持Cloneable接口,则在该类对象上调用clone()方法,将会抛出此异常,以指示无法复制该实例。
相关推荐
Exception包括RuntimeException和checked exception两类。RuntimeException是程序本身可以捕获并且可以处理的异常,例如NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException等。checked ...
2. **异常处理**:理解编译期错误和运行期错误的区别,熟悉Exception类层次结构,包括RuntimeException和Checked Exception。掌握try-catch-finally语句块,以及如何通过throw和throws声明异常。 3. **集合与数组**...
3. **异常处理**:了解如何使用try-catch-finally语句块来捕获和处理异常,以及不同类型的异常类(如RuntimeException和Checked Exception)的区别。 4. **集合框架**:熟练掌握ArrayList、LinkedList、HashSet、...
Runtime Exception 可以继承 java.lang.RuntimeException 或 java.lang.Error。例如,NullPointerException 就是一个 Runtime Exception: public class testException { public void method2(String msg) { if ...
- 异常类层次:Exception、RuntimeException和Checked Exception。 - try-catch-finally语句块:如何捕获和处理异常。 - throws关键字:在方法签名中声明异常。 6. **字符串与字符串缓冲区**: - String类:不...
2. **异常处理**:Java异常处理机制是面试中的常考点,理解如何使用try/catch/finally以及throw/throws关键字,以及不同类型的异常类,如RuntimeException和Checked Exception的区别。 3. **集合框架**:面试者需要...
4. **RuntimeException和Checked Exception的区别:** - `RuntimeException`及其子类是非检查异常,不需要在方法签名中声明。 - `Checked Exception`需要在方法签名中声明,或者在方法体内处理。 #### 五、多线程...
异常分为两种类型:已检查异常(Checked Exception)和未检查异常(Unchecked Exception)。 **已检查异常(Checked Exception)** 已检查异常是那些在编译时需要处理的异常。Java强制程序员要么在方法签名中声明...
在 Java 中,定义了两类异常:Checked exception 和 Unchecked exception。 Checked exception 是 Exception 的子类,它们的异常向上抛出机制进行处理。例如,如果子类可能产生 A 异常,那么在父类中也必须 throws ...
在实际编程中,还有两种特殊的`Exception`类:`RuntimeException`和`Checked Exception`。`RuntimeException`(如`NullPointerException`、`ArrayIndexOutOfBoundsException`)是程序逻辑错误,不强制要求捕获;而`...
在Java中,异常主要分为两大类:`RuntimeException`和`CheckedException`,它们各自承担着不同的角色和功能。 #### 一、机制上的区别 **1. 方法定义与异常声明** 在Java中,`CheckedException`和`...
在Exception类中,又有两个主要的分支:CheckedException和RuntimeException。CheckedException指的是在编译时期必须显式处理的异常,否则程序无法通过编译。这类异常要求程序员必须使用try/catch块来捕获或者使用...
通过合理地划分`CheckedException`和`UncheckedException`,我们可以更好地管理程序的异常情况,提高代码的健壮性和可读性。在实际编程中,应该根据异常的性质和预期的处理方式来选择合适的异常类型,从而确保程序在...
一、什么是checked exception和unchecked exception? 在Java语言中,异常分为两种:checked exception和unchecked exception。checked exception是编译器强制检查的异常,它们通常是业务逻辑中预期的异常,例如...
Java提供了两类主要的异常:runtime exception和checked exception。所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类...
* Exception、RuntimeException、checked exception 和 unchecked exception * try、catch、finally 语句和 throw、新异常的创建 四、数组和集合 * 数组的定义和使用方法 * Collection、List、Set、Map 等集合接口...
本资源对Java语言程序设计基础篇的Chapter 17 Exceptions and Assertions进行了详细的解释和知识点总结,涵盖了Java异常类的继承结构、claiming exceptions、checked exception和unchecked exception、throw语句和...
- **Checked Exception**:编译器强制要求捕获或声明抛出的异常类型,如 `IOException`。 - **Unchecked Exception**:运行时异常,编译器不会检查,如 `NullPointerException`。 #### 三、自定义异常 自定义...