Java 异常处理全解析
1. Java 处理异常的两种方式
在 Java 中,处理异常主要有两种方式:一种是方法自身处理异常情况;另一种是将处理异常的责任交给调用者。下面通过一个简单的例子来理解这两种方式。
2. 返回码与异常
异常通常在“出现问题”时使用,但“问题”这个词是主观的。例如,在搜索任务中,如果没有找到匹配项,常见的做法是返回 -1 而不是抛出异常,代码如下:
public int indexOf(String[] names, String name) {
for (int i = 0; i < names.length; i++) {
if (names[i].equals(name)) { return i; }
}
return -1;
}
虽然返回码在某些任务中很常见,但一般应尽量避免使用。毕竟 Java 提供了异常框架,我们应该充分利用它。
3. 理解异常类型
异常是一种改变程序流程的事件。Java 有一个 Throwable
类,所有表示这些事件的对象都继承自它。并不是所有的异常类名中都包含“exception”这个词,这可能会让人感到困惑。 Throwable
的主要子类如下:
graph TD;
Throwable --> Exception;
Throwable -->