异常
外观
< Java 编程
导航 异常 主题: ) |
主题: |
在编译时捕获错误的最佳时机是在您尝试运行程序之前。但是,并非所有错误都可以在编译时检测到。其余问题必须在运行时通过某种形式来处理,这种形式允许错误的起源者将适当的信息传递给接收者,接收者将知道如何正确处理该问题。
改进的错误恢复是增强代码健壮性的最有效方法之一。错误恢复是您编写的每个程序的基本关注点,但在 Java 中尤其重要,因为 Java 的主要目标之一是为其他人创建程序组件。要创建健壮的系统,每个组件都必须健壮。通过使用异常提供一致的错误报告模型,Java 允许组件可靠地将问题传达给客户端代码。
在 Java 中,有两种主要的代码执行流程。
- 正常的顺序代码执行,程序按照预期执行。
- 异常处理代码执行,主程序流程因错误或其他条件而中断,这些错误或条件阻止了正常顺序代码执行的继续。
- 异常
- 异常是 Java 的错误处理方式。每当发生意外情况时,都会抛出一个异常,并使用异常对象作为参数。这意味着正常的程序控制流停止,并开始搜索
catch
块。如果没有在当前方法级别找到,则搜索将继续在调用者方法级别进行,直到找到匹配的catch
块。如果没有找到,则异常将由 JVM 处理,通常会导致 Java 程序终止。
- 异常对象
- 这是作为错误的参数“抛出”并传递给
catch
块的对象。异常对象封装了有关错误位置及其性质的信息。所有 Exception 对象必须继承自java.lang.Throwable
。请参阅下面的 UML 图。
图 6.1:Java 异常类
|
- 匹配规则
- 抛出的异常对象可以被
catch
关键字捕获,并指定异常对象的类或其超类。
- 命名约定
- 将 Exception 添加到所有异常类是一种很好的做法。异常的名称应该有意义,并且应该代表问题。例如,
CustomerNotFoundException
可能表示未找到客户。