Как решить коды после цикла for, которые не выполняются в vb.net?

У меня есть этот код под моим form_load

    checkUser = False
    MsgBox("test start")
    result = Newtonsoft.Json.JsonConvert.DeserializeObject(Of ArrayList)(getJSon("https://dtitdtr.herokuapp.com/employees"))
    MsgBox("test after result before for-each")
    For Each value As Object In result
        token = JObject.Parse(value.ToString())
        id = token.SelectToken("id")
        fname = token.SelectToken("fname")
        mname = token.SelectToken("mname")
        lname = token.SelectToken("lname")
        contact = token.SelectToken("contactno")
        add = token.SelectToken("address")
        user = token.SelectToken("username")
        pass = token.SeelectToken("password")
        If user.ToString().ToUpper().Equals(GetUName()) Then
            checkUser = True
            Exit For
        Else
            checkUser = False
        End If
    Next value
    MsgBox("test after next value")
    reader.Close()
    response.Close()

и когда я запускаю программу, отображаются первые два (2) окна сообщений, а последнее, которое находится после следующего значения, не отображается.

Я не совсем понимаю, что происходит; со вчерашнего дня, когда я запускал его, все прошло нормально, и прямо сейчас, после добавления кодов для информации об обновлении, что не должно влиять на form_load, коды сразу после цикла for не будут выполнить. В чем проблема с этим?

У меня есть кое-что здесь написано "выдается исключение", но в моем коде даже нет Try Catch.


person MAC    schedule 27.03.2015    source источник


Ответы (1)


Надеюсь, что ваш код выбрасывает некоторые Exception внутри For, поэтому я предлагаю вам включить Try.. Catch для получения сведений об исключении. который поможет вам обнаружить проблему.

        Try
            For Each value As Object In result
                token = JObject.Parse(value.ToString())
                id = token.SelectToken("id")
                fname = token.SelectToken("fname")
                mname = token.SelectToken("mname")
                lname = token.SelectToken("lname")
                contact = token.SelectToken("contactno")
                add = token.SelectToken("address")
                user = token.SelectToken("username")
                pass = token.SeelectToken("password")
                If user.ToString().ToUpper().Equals(GetUName()) Then
                    checkUser = True
                    Exit For
                Else
                    checkUser = False
                End If
            Next value
            MsgBox("test after next value")
            reader.Close()
            response.Close()
        Catch ex As Exception
            MsgBox("Exception :" & ex.ToString)
        End Try
person Community    schedule 27.03.2015
comment
Почему я не подумал об этом раньше... Я решил свою проблему, благодаря вам! :) Я случайно ошибся в последнем выбранном слове в SelectToken. Пожалуйста, не минусуйте мой вопрос. ^^ - person MAC; 27.03.2015