Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Dotinho

Rotina de try...end try...

Mensagens Recomendadas

Dotinho

Ora digam-me lá se isto não funciona? e porque? ora se falhar ao criar os performance conters, dá o erro e deve sair. Ou estou--me a esquecer de aguma coisa?

   Private Sub S_Perf()
        Dim pf1 As PerformanceCounter = Nothing : Dim pf2 As PerformanceCounter = Nothing
        Dim d1, d2 As String : d1 = _ori.Substring(0, 2) : d2 = _des.Substring(0, 2)
        Dim digual As Boolean : digual = (d1 = d2)
        Dim ar1 As New Queue : Dim ar2 As New Queue
        If String.Equals(d1, d2) = False Then
            Try
                pf1 = New PerformanceCounter("Disco lógico", "% tempo de disco", d1)
                pf2 = New PerformanceCounter("Disco lógico", "% tempo de disco", d2)
            Catch ex As Exception
                Exit Sub
            End Try
        Else
            Try
                pf1 = New PerformanceCounter("Disco lógico", "% tempo de disco", d1)
            Catch ex As Exception
                Exit Sub
            End Try
        End If
        Thread.Sleep(250)

        While _cancel = False
            Dim perc1, perc2 As Integer
            If Not pf1 Is Nothing Then
                ar1.Enqueue(pf1.NextValue)
                If ar1.Count > 10 Then : ar1.Dequeue() : End If
                perc1 = FX_CalcMedia(ar1)
            Else : perc1 = 0 : End If

            If Not pf2 Is Nothing Then
                ar2.Enqueue(pf2.NextValue)
                If ar2.Count > 10 Then : ar2.Dequeue() : End If
                perc2 = FX_CalcMedia(ar2)
            Else : perc2 = 0 : End If

            UPD_Perf.BeginInvoke(d1, perc1, d2, perc2, Nothing, Nothing)
           
            Thread.Sleep(150)
        End While
        UPD_Perf.BeginInvoke(" ", 0, " ", 0, Nothing, Nothing)
    End Sub

cmps


Luis Lourenço

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Weasel

Mete assim

Catch ex As Exception
  MsgBox(ex.ToString)
  Exit Sub
End Try

Ao menos assim vês qual foi o erro


Knowledge to the masses


Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ceptrus

e porque nao meteres apenas um try .. catch

e todo o código que tiveres vai lá dentro, tornas o código mais legivel e faz a mesma coisa k tens feito.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.