在vb.net中将异常从一种方法抛出到另一种方法

问题描述

我试图通过一种方法将异常抛出到另一种方法,如果发生任何错误,则main方法将在消息框中打印它。我已经在c#中完成了操作,但是尝试在vb.net中编写相同的内容,但是当我将其扔到另一种方法时总是会出错。在此先感谢您的帮助。

  Public Async Function test() As Task(Of DataSet)

    Try

        Dim ds As New DataSet



        Dim a,b As Integer
        a = "a"
        b = 7
        Dim c = a / b


        Await Task.Run(Function() adapter.Fill(ds))


    Catch ex As Exception
        Throw
    End Try


    Return ds

  End Function

enter image description here

解决方法

Sub Main()
        Try
            Dim result = test()
            Dim x = result.Result()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End Sub

    Public Async Function test() As Task(Of Integer)
        Try
            Dim c = 1

            Await Test2()

            Await Task.Delay(1000)
            Return 40

        Catch ex As Exception
            Throw
        End Try
    End Function

    Async Function Test2() As Task(Of String)
        Try
            Throw New Exception("mannual")

            Await Task.Delay(1000)

            Return "hello world "
        Catch ex As Exception
            Throw
        End Try
    End Function

enter image description here

您好Prashant,请检查您的函数调用,并附带已更正的参考,请查看CheckInner异常enter image description here