|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Working with exceptions...problem is when I encounter the System Volume Information folder, a special kind of exception is thrown that ends up terminating the subroutine. I have two other exceptions that are thrown before the one I described does, yet they don't terminate the subroutine. Can anyone tell me why one kind of exception terminates this subroutine, while another does not? Sub FileSearch(ByVal sDir As String, ByVal FileName As String) Dim Trigger As Integer = 0 Dim d2 As String Dim f2 As String If Trigger = 0 Then Try For Each d2 In Directory.GetDirectories(sDir) For Each f2 In Directory.GetFiles(d2, FileName) MsgBox(f2, MsgBoxStyle.Critical, "File Found") Next FileSearch(d2, FileName) Next Catch excpt As UnauthorizedAccessException MsgBox(excpt.Message) End Try End If 'MsgBox("Done") End Sub Military Smurf wrote:
> Okay, so this borrowed code is for doing a recursive file search. The Sure, the code below is only setup to capture> problem is when I encounter the System Volume Information folder, a special > kind of exception is thrown that ends up terminating the subroutine. I have > two other exceptions that are thrown before the one I described does, yet > they don't terminate the subroutine. > > Can anyone tell me why one kind of exception terminates this subroutine, > while another does not? > > UnauthorizedAccessException. Any other exception is going to be thrown right out of the routine... What's the fix? Well, you can either add another catch statement for the specific exception or you can modify the code to trap all exceptions by changeing the catch block to read: Catch excpt As Exception I caution yout that this is in general not good practice, as it can cause important exceptions to be ignored... But, it is a possible solution. Show quoteHide quote > > Sub FileSearch(ByVal sDir As String, ByVal FileName As String) > Dim Trigger As Integer = 0 > Dim d2 As String > Dim f2 As String > If Trigger = 0 Then > Try > For Each d2 In Directory.GetDirectories(sDir) > For Each f2 In Directory.GetFiles(d2, FileName) > MsgBox(f2, MsgBoxStyle.Critical, "File Found") > Next > FileSearch(d2, FileName) > Next > Catch excpt As UnauthorizedAccessException > MsgBox(excpt.Message) > End Try > End If > 'MsgBox("Done") > End Sub -- Tom Shelton [MVP]
Update DataSet
What is the correct format for DateTime.Compare ? Using OLEDB with Excel IndexOf string method Using values from one useform in another userform Difficult Task VB.Net Appliction stops working when version is updated vb 2005 express > querry table in access and put contents into array How to read large text file ? brain death |
|||||||||||||||||||||||