如何:在 Visual Basic 中使用 Try...Catch 块测试代码

Catch 语句可以应用于 Try 块中,以捕捉并响应一个或多个特定的异常。 如果在执行 Try 节中的任何代码的过程中发生异常, Visual Basic 编译器将检查块内的每个 Catch 语句,直到找到一个与异常条件匹配的语句。 如果没有找到,将产生错误。

捕捉特定的异常

  1. 使用 Try 块来测试代码块,将代码块包含在 Try 和 End Try 内(如下例所示),这会将文件 MyLog 复制到相同的目录中并重命名为 BackupLog。

    Try
        My.Computer.FileSystem.CopyFile("MyLog", "BackupLog")
    Catch ex As System.IO.IOException
        MsgBox("An error occurred")
    End Try
    
  2. 在 Try 块内,按从最特定到最不特定的顺序提供面向特定错误类型的 Catch 语句。 这里,在寻找一般异常之前,Catch 语句首先捕捉任何 IOException 异常。

    Catch ex As System.IO.FileNotFoundException
        MsgBox("No such file in this directory.")
    Catch ex As System.Exception
        MsgBox("An unspecified error occurred.")
    

请参见

任务

如何:在 Visual Basic 中使用 Try…Finally 块清理资源

如何:在 Visual Basic 中筛选 Catch 块中的错误

如何:检查异常的内部异常 (Visual Basic)

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

参考

Try...Catch...Finally 语句 (Visual Basic)

概念

选择何时使用结构化异常处理和非结构化异常处理 (Visual Basic)

其他资源

异常处理任务 (Visual Basic)