如何:在 Visual Basic 中筛选 Catch 块中的错误
Catch 语句提供多种方法可筛选错误。 一个方法是通过异常的类型进行筛选。 在这种情况下,从异常的最具体类型到最抽象类型进行处理就十分重要,这是因为 Catch 语句是顺序执行的。
When 子句也可用来按条件表达式(如特定错误号)进行筛选。 这两种方法也可以组合使用。
提示
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。
按异常类型筛选
按照从最具体到最抽象的顺序,为要检查的异常的每个类型都插入一条 Catch 语句。
Try Throw New Exception Catch ex As System.IO.IOException ' Code reacting to IOException Catch ex As System.NullReferenceException ' Code reacting to NullReferenceException Catch ex As Exception ' Code reacting to any exception End Try
按条件表达式筛选
使用 Catch When 语句按条件表达式筛选。 如果条件表达式计算为 True,则执行 Catch 块后面的代码。
Try ' Code goes here. ' Check for type mismatch error. Catch ex As Exception When Err.Number = 5 ' Code reacting to exception. End Try
请参见
任务
参考
Try...Catch...Finally 语句 (Visual Basic)
概念
选择何时使用结构化异常处理和非结构化异常处理 (Visual Basic)