функция ниже работает нормально, получить список папок (проверенные элементы списка) в элементе управления списком, затем загрузить изображения в элемент управления миниатюрами, я использую CancellationTokenSource для отмены процесса
` Public Shared Async Function LoadFilesFromLSVAsync(_lsi As ImageListView, _lsv As ListView) As Task(Of Boolean)
CTS = New CancellationTokenSource
CT = CTS.Token
Dim _lamlsi = Async Function()
Try
For Each _fldr In _lstFolderPath
If CT.IsCancellationRequested Then Throw New Exception("user cancelled the process")
If My.Computer.FileSystem.DirectoryExists(_fldr) Then
For Each _file In _getfiles
'---> want to catch this Exception and show to User in msgbox
If CT.IsCancellationRequested Then Throw New Exception("user cancelled the process")
_cnt% += 1
Next
End If
Next
Catch ex As Exception
Utility.StatusUpdate.TexUpdate.UpdateText(_lblStatus, $"error : {Err.Description }")
Throw '---> THROW IS NOT THROW THE EXCEPTION
Finally
End Try
Return True
End Function
Return Await Task.Run(Async Function()
If _lsi.InvokeRequired Then
_lsi.Invoke(Async Function() Await _lamlsi())
Else
Await _lamlsi()
End If
Return True
End Function, CT)
End Function
отменить процесс
` Private Sub btnCancelTask_Click(sender As Object, e As EventArgs) Handles btnCancelTask.Click
If Not IsNothing(CTS) Then
CTS.Cancel()
CTS.Dispose()
CTS = Nothing
End If
End Sub
Я хочу показать пользователю сообщение «Пользователь отменил процесс» после нажатия кнопки «Отмена», но после нажатия кнопки «Отмена» процесс остановлен, но я не могу получить исключение «Пользователь отменил процесс».