陣列索引超出範圍(編號:5972)

ReDim arr(0) As String
strTempFile = Dir(app.path & "*.tmp")
    While strTempFile <> ""
        arr(UBound(arr)) = app.path & strTempFile
        ReDim Preserve arr(UBound(arr) + 1) '為何會顯示陣列索引超出範圍,但仍可正常執行?
        strTempFile =Dir
    Wend