异常处理介绍 (Visual Basic)

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

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

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

提示

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

结构化异常处理

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

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

非结构化异常处理

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

请参见

任务

异常处理疑难解答 (Visual Basic)

演练:结构化异常处理 (Visual Basic)

参考

On Error 语句 (Visual Basic)

概念

错误类型 (Visual Basic)

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

非结构化异常处理概述 (Visual Basic)

其他资源

异常处理任务 (Visual Basic)