Visual Basic:从不在主模块中的类中退出控制台应用程序



如果控制台应用程序出现错误(在try/catch中捕获),我在编写要退出控制台应用程序的代码时遇到了一些问题。如前所述,该应用程序是一个控制台应用程序。这意味着System.Windows.Forms.Application未作为引用包含,我无法使用。

所以,如果我在一个单独的类中获取主模块外产生的错误,我该如何从该类中退出程序?

请记住,我不能使用Application.Exit(),所以请不要将其作为解决方案。

谢谢!

我想您正在寻找Environment.Exit()

Environment.Exit()会起作用,但我认为更好的做法是重新抛出异常,让主模块再次捕获它并退出程序,或者如果您在异常处理程序中没有做任何其他事情,那么首先让异常冒泡到主模块。

所以我遇到了同样的问题,我必须在一个单独的模块中生成一个函数,而不是将其作为子程序。

然后,如果它通过了测试,我会返回"True",如果它没有通过测试,我则返回"False"。然后我在主模块中包含了以下代码。

Public Class Form1
    Private Sub GetScreenInfo_Click(sender As Object, e As EventArgs) Handles GetScreenInfo.Click
        Dim WeAreOnTheCorrectScreen As Boolean
        Dim ScreenText As String
        ScreenText = GetScreenText()
        WeAreOnTheCorrectScreen = CorrectScreenTextValidation(ScreenText)
        If WeAreOnTheCorrectScreen = False Then Exit Sub
    End Sub
End Class

最后,请注意。"GetScreenText()"one_answers"CorrectScreenTextValidation()"是单独模块中的函数。

我没有包括他们的示例代码,因为我只是想传达一下完成你想做的事情的总体想法

最重要的是,如果需要,答案是从函数返回一个值,然后使用一行"If"语句退出子。

If WeAreOnTheCorrectScreen = False Then Exit Sub

相关内容

最新更新