Запланированная задача - переполнение - PullRequest
0 голосов
/ 26 июля 2011

Я создал консольное приложение для запуска записей из базы данных (около 22 КБ) и обновления некоторых значений ночью.

Я добавил электронное письмо о любых ошибках. при выполнении задачи я получаю около 500 писем со словами:

«Переполнение» (что и возвращает: исключение. Сообщение)

что это значит? он бежит через дб слишком быстро? как я могу это исправить?

Спасибо!

вот мой код:

  For Each dataRow As DataRow In dt.Rows
        curries = 0
        baseDate = Nothing
        sourceID = 0
        isotopeID = 0
        currentCat = 0
        act = 0
        cat = 0
        isoDetails = Nothing
        Try
            If (Not curries = "0") And IsNumeric(curries) Then
                A= dataRow("A")
                B= dataRow("B")
                C= dataRow("C")
                D= dataRow("D")
                act = CalculateActivity(A, B, dataRow("E"))
                cSource.UpdateDB(A, B, dataRow("E"), act, Now())

                isoDetails = cSource.GetLookUpDetails(dataRow("E"))
              cSource.UpdateCategory(sourceID, cat)

            End If
        Catch ex As Exception
            ErrorOnUpdate(sourceID, isotopeID, ex.Message)
        End Try
    Next

..........

Public Function CalculateIsotopeActivity(ByVal curries As Double, ByVal actibityDate As DateTime, ByVal isotope As String) As Double
    'reported activity * e^(-Log(2) * ((now - activity date)/365)/halflife))

    Return curries * Math.E ^ (-Math.Log(2) * (((Now.Date().Subtract(DateTime.Parse(actibityDate)).Days) / 365) / cSource.GetIsotopeLookUpDetails(isotope).HalfLife))

End Function

1 Ответ

1 голос
/ 26 июля 2011

Я думаю, вы получаете математическое переполнение для одной из ваших переменных.Попробуйте явно объявить ваши переменные для типа данных, а затем проанализировать данные из datarow в них.Это либо устранит ошибки, либо даст вам лучшие сообщения об ошибках.

Dim curries as Double = 0
...
curries = Double.Parse(datarow("A"))

На самом деле я бы посоветовал вам устранить все неявные преобразования, добавив Option Strict On в ваш код и исправив каждую ошибку, найденную компилятором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...