Java 常见异常有哪些?怎样分类?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
先区分受检异常、RuntimeException 及其子类,以及 Error。常见受检异常有 IOException、ClassNotFoundException;常见运行时异常有 NullPointerException、IllegalArgumentException、IndexOutOfBoundsException、NumberFormatException、ClassCastException 等。Error 通常单独讨论,例如 OutOfMemoryError。
讲清原理
分类的目的不只是背名字,而是帮助选择处理位置。文件读取失败可能需要重试或提示文件不可用;参数不合法通常应在明确的接口边界报告;内存耗尽则不宜当普通业务分支吞掉。
异常类之间也有继承关系。例如 NumberFormatException 是 IllegalArgumentException 的子类,ArrayIndexOutOfBoundsException 是 IndexOutOfBoundsException 的子类。捕获多个异常时,子类型应放在父类型之前,否则可能出现不可达的 catch 分支。
例子与易错点
try {
Integer.parseInt("abc");
} catch (NumberFormatException e) {
System.out.println("请输入整数");
}
不要为“避免报错”而在所有地方 catch Exception 后返回默认成功值。正确做法是让错误与正常结果在接口上可以区分,并保留必要的原因信息。
相关题:第 1 题、第 9 题、第 60 题。
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。