`
- 浏览:
807366 次
- 性别:
- 来自:
上海
-
运行时异常(RuntimeException)和受检查异常(Checked Exception)的本质区别
最本质的区别是RuntimeException是运行时才会发生的异常, 而受检查异常是编译时异常,编译器会分析哪些异常会在执行一个方法或者构造函数的时候抛出。
异常(Exception):你可以使用运行时异常或者编译时异常。
运行时异常(RuntimeException)也称作未检测的异常(unchecked exception),这表示这种异常不需要编译器来检测。RuntimeException是所有可以在运行时抛出的异常的父类。一个方法除要捕获异常外,如果它执行的时候可能会抛出RuntimeException的子类,那么它就不需要用throw语句来声明抛出的异常。
例如:NullPointerException,ArrayIndexOutOfBoundsException,等等
受检查异常(checked exception)都是编译器在编译时进行校验的,通过throws语句或者try{}cathch{} 语句块来处理检测异常。编译器会分析哪些异常会在执行一个方法或者构造函数的时候抛出。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
从逻辑角度分析,`CheckedException`和`RuntimeException`的设计理念和应用场景存在本质差异。 **1. CheckedException的应用场景** `CheckedException`主要用于表示程序可以预见且能够处理的异常情况,比如I/O操作...
- **检查异常**(Checked Exception):必须被捕获或声明抛出。如 `IOException`、`SQLException`。 - **运行时异常**(Unchecked Exception):继承自 `RuntimeException` 的异常,如 `NullPointerException`、`...
Java中的异常分为运行时异常(RuntimeException)和非运行时异常(Checked Exception)。运行时异常是程序逻辑错误,编译器不要求强制捕获;非运行时异常在编译期间需要显式处理。Servlet的异常处理也是面试中常问的...
`RuntimeException`及其子类,如`NullPointerException`、`ArithmeticException`,都属于运行时异常。运行时异常通常表示程序员的逻辑错误,应当尽可能避免。 三、异常的处理机制 Java提供了五种关键字来管理异常...
通常,我们会提供一些构造函数,以便在抛出异常时传递错误信息或原始异常。 ### 二、何时使用自定义异常 1. **特定业务逻辑**:当遇到特定于应用领域的错误情况时,自定义异常可以帮助提供更清晰的错误信息。 2. *...
Java中的异常处理机制包括检查性异常(Checked Exception)和运行时异常(RuntimeException)。检查性异常必须被捕获或声明抛出,而运行时异常则可以在不被捕获的情况下抛出。合理地使用异常处理可以增强程序的健壮...
- 一般异常(Checked Exception)需要显式捕获和处理,否则编译不通过。 6. **Servlet的生命周期**: - 初始化(init):Servlet加载并初始化,只执行一次。 - 服务(service):接收请求,根据请求类型调用...
`Exception` 类又可以进一步细分为 `RuntimeException` 和 `CheckedException`。 - **RuntimeException**: 这类异常通常是由于程序逻辑错误导致的,例如空指针异常 (`NullPointerException`) 或数组越界异常 (`...
而`Exception`表示程序可以尝试恢复的异常状况,分为`checked`和`unchecked`两种,前者必须在编译时处理,后者(如`RuntimeException`)可以在运行时直接抛出。 #### final关键字的意义 在Java中,`final`关键字...
- **运行时异常**(RuntimeException)是程序逻辑错误,不强制捕获,如`NullPointerException`。 - **一般异常**(Checked Exception)如`IOException`,编译器要求必须捕获或声明抛出。 6. **Servlet的生命周期*...
- Java中的异常分为两大类:运行时异常(RuntimeException)和检查性异常(Checked Exception)。 - **异常处理** - try-catch语句用于捕获异常并处理。 - finally块用于执行必要的清理工作。 - throw语句用于...
Java中的异常分为两大类:**运行时异常**(RuntimeException)和**检查型异常**(Checked Exception)。运行时异常通常由编程错误引起,不需要显式捕获或声明抛出;而检查型异常则必须被捕获或声明抛出。 #### 六、...
- `Exception`是所有异常类的超类,分为检查异常(`Checked Exception`)和运行时异常(`Runtime Exception`)。 - `RuntimeException`是运行时异常的基类,不需要显式处理或声明。 - 最常见的`RuntimeException`包括...
- **Exception**:表示合理条件下可以捕获并处理的异常,分为`RuntimeException`(运行时异常)和`CheckedException`(检查型异常)两大类。 #### 第十九,List, Set, Map 是否继承自 Collection 接口? - `List`...
**不管**表示不受某些条件的影响。在编程中,这可能涉及编写能够处理各种情况的健壮代码。 #### 可变形参列表 (Variable Argument Lists) **可变形参列表**是指方法接受可变数量的参数。在Java中,使用“…”来...