Vb.net 看起来像一个异常系统。UnauthorizedAccessException被忽略

Vb.net 看起来像一个异常系统。UnauthorizedAccessException被忽略,vb.net,exception-handling,Vb.net,Exception Handling,我有一个异常问题:我使用的代码是: Public Class Form1 Private Sub KiesPad_Click(sender As Object, e As EventArgs) Handles KiesPad.Click Dim dlg As New FolderBrowserDialog Dim result As DialogResult = dlg.ShowDialog() If result = DialogResult.OK Then

我有一个异常问题:我使用的代码是:

Public Class Form1

Private Sub KiesPad_Click(sender As Object, e As EventArgs) Handles KiesPad.Click
    Dim dlg As New FolderBrowserDialog
    Dim result As DialogResult = dlg.ShowDialog()
    If result = DialogResult.OK Then
        For Each f As String In IO.Directory.EnumerateFileSystemEntries(dlg.SelectedPath, "*.*", IO.SearchOption.AllDirectories)
            Try
                Microsoft.VisualBasic.FileIO.FileSystem.RenameFile(f, FixName(f))
                Me.RichTextBox1.Text = Me.RichTextBox1.Text & "Aangepast " & f & " in " & FixName(f) & vbCrLf
            Catch ex As System.UnauthorizedAccessException
                MsgBox("Security problem")
            Catch ex As IO.IOException
                'Bestandsnaam niet aangepast. Bestaat al, niks doen.
            Catch ex As Exception
                MsgBox(ex.Message & ex.HResult)
            End Try
        Next
    End If
End Sub
运行此代码时,我收到一条错误消息:

An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll
Additional information: no access fot c:\users\jack\documents\pictures`
但我为
系统执行了捕获异常。UnauthorizedAccessException


我的错误是什么?

调用
IO.Directory.EnumerateFileSystems时,您没有捕获异常。将
试块移到更高的位置:

Try
    For Each f As String In IO.Directory.EnumerateFileSystemEntries(dlg.SelectedPath, "*.*", IO.SearchOption.AllDirectories)
            Microsoft.VisualBasic.FileIO.FileSystem.RenameFile(f, FixName(f))
            Me.RichTextBox1.Text = Me.RichTextBox1.Text & "Aangepast " & f & " in " & FixName(f) & vbCrLf
    Next
Catch ex As System.UnauthorizedAccessException
    MsgBox("Security problem")
Catch ex As IO.IOException
    'Bestandsnaam niet aangepast. Bestaat al, niks doen.
Catch ex As Exception
    MsgBox(ex.Message & ex.HResult)
End Try