下面程序运行时怎么总是成功呢
我故意添加错误语句Throw New ArgumentException("Exception Occured")然后,看看
status1.IsCanceled ,status1.IsCompleted,status1.IsFaulted返回情况是否正确。
奇怪的是总是返回成功状态。
我曾经用过Status的方法,但是不明白返回的各参数意味着什么
Imports System.Threading.Tasks.Task
Public Class Class2
Sub MySub()
Dim Dictionary1 As New Dictionary(Of Integer, Integer)
Dim status1 As New Task(Sub()
Try
Throw New ArgumentException("Exception Occured")
For index1 As Integer = 1 To 10000000
Dictionary1.Add(index1, 0)
Next
Catch ex As Exception
Exit Sub
MsgBox(ex.Message.ToString)
End Try
End Sub)
Dim IfStatus1 As IAsyncResult = status1
status1.RunSynchronously()
status1.Wait()
If status1.IsCanceled Then
MsgBox("任务已被取消")
ElseIf status1.IsCompleted Then
MsgBox("任务成功完成")
ElseIf status1.IsFaulted Then
MsgBox("发生错误而失败")
Else
MsgBox("没有运行")
End If
MsgBox(Dictionary1.Count)
End Sub
End Class
------解决方案--------------------
如果不是致命错误,你可以点“继续”来继续执行的