异常处理介绍 (Visual Basic)
Visual Basic 支持结构化和非结构化异常(错误)处理。 通过在应用程序中放置异常处理代码,可以处理用户可能遇到的大多数错误并使应用程序能够继续运行。 使用结构化和非结构化错误处理,可以规划潜在的错误,防止它们影响应用程序。
如果任何方法使用可能生成异常的运算符,或者调用或访问其他可能生成异常的过程,则在这些方法中应考虑使用异常处理。
如果发生异常的方法不具备处理异常的功能,异常将被传播回调用方法或前一个方法。 如果前一个方法也没有异常处理程序,则异常被传播回该方法的调用方,依此类推。 对处理程序的搜索一直持续到“调用堆栈”,它是应用程序内被调用过程的序列。 如果未能找到异常的处理程序,则将显示错误信息并终止应用程序。
提示
单个方法可包含结构化或非结构化异常处理,但不能同时包含二者。
结构化异常处理
在结构化异常处理中,代码块是封装的,每个块有一个或几个关联的处理程序。 每个处理程序对它处理的异常类型指定某种形式的筛选条件。 当受保护块内的代码引发异常时,按顺序搜索相应的处理程序集,并执行第一个与筛选条件匹配的处理程序。 单个方法可以有多个结构化异常处理块,而且块可以互相嵌套。
Try...Catch...Finally 语句专门用于结构化异常处理。 有关更多信息,请参见 Visual Basic 的结构化异常处理概述。
非结构化异常处理
On Error 语句专门用于非结构化异常处理。 在非结构化异常处理中,On Error 被放置在代码块的开始处。 它于是具有该块的“范围”,它处理发生在该块内的任何错误。 如果程序遇到另一个 On Error 语句,则该语句变为有效,而第一个语句变成无效。 有关更多信息,请参见 非结构化异常处理概述 (Visual Basic)。