异常处理介绍

更新:2007 年 11 月

Visual Basic 支持“结构化”和“非结构化”异常(错误)处理。通过在应用程序中放置异常处理代码,可以处理用户可能遇到的大多数错误并使应用程序能够继续运行。使用结构化和非结构化错误处理,可以规划潜在的错误,防止它们影响应用程序。

如果任何方法使用可能生成异常的运算符,或者调用或访问其他可能生成异常的过程,则在这些方法中应考虑使用异常处理。

如果发生异常的方法不具备处理异常的功能,异常将被传播回调用方法或前一个方法。如果前一个方法也没有异常处理程序,则异常被传播回该方法的调用方,依此类推。对处理程序的搜索一直持续到“调用堆栈”,它是应用程序内被调用过程的序列。如果未能找到异常的处理程序,则将显示错误信息并终止应用程序。

说明:

单个方法可包含结构化或非结构化异常处理,但不能同时包含二者。

结构化异常处理

在结构化异常处理中,代码块是封装的,每个块有一个或几个关联的处理程序。每个处理程序对它处理的异常类型指定某种形式的筛选条件。当受保护块内的代码引发异常时,按顺序搜索相应的处理程序集,并执行第一个与筛选条件匹配的处理程序。单个方法可以有多个结构化异常处理块,而且块可以互相嵌套。

Try...Catch...Finally 语句专门用于结构化异常处理。有关更多信息,请参见 Visual Basic 的结构化异常处理概述

非结构化异常处理

On Error 语句专门用于非结构化异常处理。在非结构化异常处理中,On Error 被放置在代码块的开始处。它于是具有该块的“范围”,它处理发生在该块内的任何错误。如果程序遇到另一个 On Error 语句,则该语句变为有效,而第一个语句变成无效。有关更多信息,请参见非结构化异常处理概述

请参见

任务

异常处理疑难解答

演练:结构化异常处理

概念

错误类型

Visual Basic 的结构化异常处理概述

非结构化异常处理概述

参考

On Error 语句 (Visual Basic)

其他资源

异常处理任务