尝试处理vb.net vs2010中存在的文件

尝试处理vb.net vs2010中存在的文件,vb.net,visual-studio-2010,unhandled-exception,Vb.net,Visual Studio 2010,Unhandled Exception,有这样一个逻辑: Dim fInfo As New FileInfo(LocationDir & Filename) If Not fInfo.Exists Then Console.WriteLine("File does not exist." & Filename) Throw New Exception("File does not exist." & Filename) End If 它应该抛出异常,停止整个模块的执行,然后退出。明白这不是一个

有这样一个逻辑:

Dim fInfo As New FileInfo(LocationDir & Filename)
If Not fInfo.Exists Then
    Console.WriteLine("File does not exist." & Filename)
    Throw New Exception("File does not exist." & Filename)
End If
它应该抛出异常,停止整个模块的执行,然后退出。明白这不是一个和平的结局。当我发现有未处理的错误时。除了控制台,还会弹出另一个框:应用程序失败,需要关闭或调试。我想我需要处理模块的优雅终止。有什么建议吗


罗兰问了一个很好的问题,我在哪里发现了用户异常。我完全诚实地说,在搜索和阅读了很多之后,仍然无法理解我在哪里以及如何抓住它。对于有经验的用户来说,这可能非常简单,但希望有一段代码作为基础

使用IO.FileExists函数和IO.Path.Combine函数来构建路径可能更容易

If IO.File.Exists(IO.Path.Combine(LocationDir, Filename)) Then
   'code
End If

至少我从来没有遇到过问题。同样,罗兰写道,如果你忘记了,你当然必须捕获你在代码中的某个地方抛出的异常。

你在哪里捕获异常?这就是我试图找出如何高效地编码以捕获异常的原因。我知道我目前没有捕获异常。嗯,首先寻找效率低下的代码,更容易找到。任何关于VB.NET编程的介绍性书籍都会介绍异常处理。请注意,该测试实际上毫无价值,您无法保证其他进程不会在一微秒后删除该文件。这种代码根本不起作用,所以不要写它。打开该文件,如果该文件不存在将失败,您将免费获得该异常。谢谢,找到了。而且文件没有被删除。还是要问一下,我知道有很多关于异常处理的资料,但不幸的是,有些人如果看到真实的例子,就会学到更多更快。这就是为什么我试图获得关于如何处理不同异常的帮助。例如,检查文件是否存在或是否为空。当执行语句Throw时,我们希望看到如何不导致程序崩溃,而是以和平的方式完成。如果有任何可用的例子,将不胜感激。