跳转到内容

异常

100% developed
来自维基教科书,开放的书籍,开放的世界

导航 异常 主题:v  d  e )
主题:


在编译时捕获错误的最佳时机是在您尝试运行程序之前。但是,并非所有错误都可以在编译时检测到。其余问题必须在运行时通过某种形式来处理,这种形式允许错误的起源者将适当的信息传递给接收者,接收者将知道如何正确处理该问题。

改进的错误恢复是增强代码健壮性的最有效方法之一。错误恢复是您编写的每个程序的基本关注点,但在 Java 中尤其重要,因为 Java 的主要目标之一是为其他人创建程序组件。要创建健壮的系统,每个组件都必须健壮。通过使用异常提供一致的错误报告模型,Java 允许组件可靠地将问题传达给客户端代码。

代码执行流程

[编辑 | 编辑源代码]

在 Java 中,有两种主要的代码执行流程。

  • 正常的顺序代码执行,程序按照预期执行。
  • 异常处理代码执行,主程序流程因错误或其他条件而中断,这些错误或条件阻止了正常顺序代码执行的继续。
异常
异常是 Java 的错误处理方式。每当发生意外情况时,都会抛出一个异常,并使用异常对象作为参数。这意味着正常的程序控制流停止,并开始搜索 catch 块。如果没有在当前方法级别找到,则搜索将继续在调用者方法级别进行,直到找到匹配的 catch 块。如果没有找到,则异常将由 JVM 处理,通常会导致 Java 程序终止。
当找到一个 catch “匹配”块时,将执行该块,异常对象将作为参数传递给该块。然后,正常的程序执行将在 catch 块之后继续。请参阅 Java 异常处理语法
异常对象
这是作为错误的参数“抛出”并传递给 catch 块的对象。异常对象封装了有关错误位置及其性质的信息。所有 Exception 对象必须继承自 java.lang.Throwable。请参阅下面的 UML 图
6.1Java 异常类


匹配规则
抛出的异常对象可以被 catch 关键字捕获,并指定异常对象的类或其超类。
命名约定
将 Exception 添加到所有异常类是一种很好的做法。异常的名称应该有意义,并且应该代表问题。例如,CustomerNotFoundException 可能表示未找到客户。



华夏公益教科书