异常处理示例

更新:2007 年 11 月

此解决方案演示使用 Try...Catch...Finally 进行的结构化异常处理。

获取示例及其安装说明

  • 执行下列一项或多项操作:

    • 在“帮助”菜单上,单击“示例”。

      自述文件将显示有关示例的信息。

    • 访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。

    • 在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。

有关更多信息,请参见定位示例文件

安全说明:

此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。

运行此示例

  • 按 F5,以使用断点的调试模式启动应用程序。按 Ctrl+F5 以运行程序并忽略断点。

演示

代码中演示了打开文件时的五种变化。有五个要测试的命令按钮。每个按钮尝试打开在标记为“要打开的文本文件”的文本框中指定的文件。除了标记为“无错误处理”的按钮以外的每个按钮均采用通过 Try、Catch 和 Finally 块进行的各种程度的错误处理。

  • 无错误处理   使用 FileStream 类打开窗体中指定的文件。如果文件不存在,则引发异常。在释放模式中,将停止执行程序。在调试模式中,将显示“异常助手”。

  • 基本错误处理   用于打开文件的调用包装在捕获所有错误的 Try...Catch...Finally 语句 (Visual Basic) 中。错误信息将会显示,且程序继续执行。

  • 详细的错误处理   使用多个 Catch 子句提供关于错误的更多详细信息。通过捕获特定的错误,程序可以确定是文件不存在、文件夹不存在还是发生了一些其他的 I/O 错误。

  • 自定义消息   程序使用多个 Catch 子句和堆栈跟踪,提供关于异常的详细错误信息。

  • Try, Catch, Finally   如果文件已经打开,使用 Finally 子句可将其关闭。

请参见

参考

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

Exception

ApplicationException

StackTrace