没有合适的资源?快使用搜索试试~ 我知道了~
Java异常面试题(2024最新版).docx
需积分: 5 0 下载量 10 浏览量
2024-01-26
22:11:53
上传
评论
收藏 42KB DOCX 举报
温馨提示
试读
31页
Java异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版).docxJava异常面试题(2024最新版
资源推荐
资源详情
资源评论
Java 异常架构与异常关键字
Java 异常简介
Java 异常架构
1. Throwable
2. Error(错误)
3. Exception(异常)
运行时异常
编译时异常
4. 受检异常与非受检异常
受检异常
非受检异常
Java 异常关键字
Java 异常处理
声明异常
抛出异常
捕获异常
如何选择异常类型
常见异常处理方式
直接抛出异常
封装异常再抛出
捕获异常
自定义异常
try-catch-finally
try-with-resource
Java 异常常见面试题
1. Error 和 Exception 区别是什么?
2. 运行时异常和一般异常(受检异常)区别是什么?
3. JVM 是如何处理异常的?
4. throw 和 throws 的区别是什么?
5. final、finally、finalize 有什么区别?
6. NoClassDefFoundError 和
ClassNotFoundException 区别?
7. try-catch-finally 中哪个部分可以省略?
8. try-catch-finally 中,如果 catch 中 return 了,
finally 还会执行吗?
9. 类 ExampleA 继承 Exception,类 ExampleB 继承
ExampleA。
10. 常见的 RuntimeException 有哪些?
11. Java 常见异常有哪些
Java 异常处理最佳实践
1. 在 finally 块中清理资源或者使用 try-with-resource
语句
1.1 使用 finally 代码块
1.2 Java 7 的 try-with-resource 语法
2. 优先明确的异常
3. 对异常进行文档说明
4. 使用描述性消息抛出异常
5. 优先捕获最具体的异常
6. 不要捕获 Throwable 类
7. 不要忽略异常
8. 不要记录并抛出异常
9. 包装异常时不要抛弃原始的异常
10. 不要使用异常控制程序的流程
11. 使用标准异常
12. 异常会影响性能
13. 总结
异常处理-阿里巴巴 Java 开发手册
Java 异常架构与异常关键字
Java 异常简介
Java 异常是 Java 提供的一种识别及响应错误的一致性机制。
Java 异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,
并提高程序
健壮性。在有效使用异常的情况下,异常能清晰的回答 what, where, why 这 3 个问题:异
常类型回答
了“什么”被抛出,异常堆栈跟踪回答了“在哪”抛出,异常信息回答了“为什么”会抛出。
Java 异常架构
1. Throwable
Throwable 是 Java 语言中所有错误与异常的超类。
Throwable 包含两个子类:Error(错误)和 Exception(异常),它们通常用于指示发生
了异常情
况。
Throwable 包含了其线程创建时线程执行堆栈的快照,它提供了 printStackTrace() 等接
口用于获取
堆栈跟踪数据等信息。
2. Error(错误)
定义:Error 类及其子类。程序中无法处理的错误,表示运行应用程序中出现了严重的错误。
特点:此类错误一般表示代码运行时 JVM 出现问题。通常有 Virtual MachineError(虚
拟机运行错
误)、NoClassDefFoundError(类定义错误)等。比如 OutOfMemoryError:内存不足
错误;
StackOverflowError:栈溢出错误。此类错误发生时,JVM 将终止线程。
这些错误是不受检异常,非代码性错误。因此,当此类错误发生时,应用程序不应该去处理
此类错
误。按照 Java 惯例,我们是不应该实现任何新的 Error 子类的!
3. Exception(异常)
程序本身可以捕获并且可以处理的异常。Exception 这种异常又分为两类:运行时异常和
编译时异
常。
运行时异常
定义:RuntimeException 类及其子类,表示 JVM 在运行期间可能出现的异常。
特点:Java 编译器不会检查它。也就是说,当程序中可能出现这类异常时,倘若既"没有通
过 throws
声明抛出它",也"没有用 try-catch 语句捕获它",还是会编译通过。比如
NullPointerException 空指针
异常、ArrayIndexOutBoundException 数组下标越界异常、ClassCastException 类型转
换异常、
ArithmeticExecption 算术异常。此类异常属于不受检异常,一般是由程序逻辑错误引起的,
在程序中
可以选择捕获处理,也可以不处理。虽然 Java 编译器不会检查运行时异常,但是我们也可
以通过
throws 进行声明抛出,也可以通过 try-catch 对它进行捕获处理。如果产生运行时异常,
则需要通过
修改代码来进行避免。例如,若会发生除数为零的情况,则需要通过代码避免该情况的发生!
RuntimeException 异常会由 Java 虚拟机自动抛出并自动捕获(就算我们没写异常捕获
语句运行时也
会抛出错误!!),此类异常的出现绝大数情况是代码本身有问题应该从逻辑上去解决并改
进代码。
剩余30页未读,继续阅读
资源评论
小码叔
- 粉丝: 4258
- 资源: 1207
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功