什么是 exception?

术语“exception”是短语“exception 事件”的简写。

Definition:

  • exception *(exception)是在程序执行期间发生的事件,它破坏程序指令的正常流程。

当方法内发生错误时,该方法将创建一个对象并将其交给运行时系统。该对象称为* exception object ,包含有关错误的信息,包括错误的类型和发生错误时程序的状态。创建异常对象并将其交给运行时系统称为抛出异常*。

方法抛出异常后,运行时系统会try查找一些要处理的异常。处理异常的可能“事物”的集合是被调用以到达发生错误的方法的方法的有序列表。方法列表称为调用堆栈(请参见下图)。

调用堆栈显示了三个方法调用,其中第一个调用的方法具有异常处理程序。

调用堆栈。

运行时系统在调用堆栈中搜索一种方法,该方法包含可以处理异常的代码块。此代码块称为* exception handler *。搜索从发生错误的方法开始,然后以与调用方法相反的 Sequences 在调用堆栈中进行。找到合适的处理程序后,运行时系统会将异常传递给处理程序。如果抛出的异常对象的类型与处理程序可以处理的类型匹配,则认为异常处理程序是适当的。

所选择的异常处理程序被称为“catch异常”。如果运行时系统详尽地搜索了调用堆栈上的所有方法而没有找到合适的异常处理程序,如下图所示,则运行时系统(因此,程序)将终止。

调用堆栈显示了三个方法调用,其中第一个调用的方法具有异常处理程序。

在调用堆栈中搜索异常处理程序。

与传统的错误 管理 技术相比,使用异常 管理 错误具有一些优势。您可以在exception 的优点部分中了解更多信息。