Tratamento de erros de script.

Um erro de script pode ocorrer por vários motivos. Alguns exemplos:

1) O operador esqueceu de preencher um Setpoint, e pressionou um botão;
2) O script necessitava do valor de um tag de comunicação, porém a conexão com o CLP estava interrompida no momento;
3) O script tentou escrever um registro em uma tabela, mas a conexão com o Banco estava interrompida no momento.

Para qualquer uma destas situações, o procedimento padrão do vbScript é: exibir uma mensagem de erro, e abortar o script.

Na maioria das vezes, isto se torna bastante inconveniente. O operador pode não entender o que aconteceu. Não se sabe se foi uma falha irrelevante, ou um erro gravíssimo.

Porém, o vbScript dispõe de recursos para que o desenvolvedor crie sua própria lógica de tratamento de erros. Mostraremos alguns deles abaixo.

On Error Resume Next

A instrução On Error serve para indicar qual ação deve ser tomada pelo VB. No caso de usarmos o “On Error Resume Next”, a ação a ser tomada será simplesmente seguir para a próxima linha. Ou seja, o erro de script é ignorado.

Isto vale para as linhas abaixo da instrução.

On Error Goto 0

Esta instrução anula o “On Error Resume Next”. Ou seja, nas linhas abaixo do “On Error Goto 0”, o erro de script terá o tratamento tradicional: mensagem de erro e script abortado.

Objeto “Err”

Este objeto representa o erro de script. Podemos usar suas propriedades para identificar o que aconteceu de errado na execução.

Para entender melhor, vamos usar um exemplo de tratamento de script:

'A partir desta linha, os erros são ignorados
On Error Resume Next

Application.GetObject("Dados.TagInexistente1").Value = 1
Application.GetObject("Dados.TagInexistente2").Value = 1
Application.GetObject("Dados.TagInexistente3").Value = 1
'…
'…

If Err.Number <> 0 then
MsgBox "Atenção: ocorreu um erro na execução deste script: " & vbNewLine &_
Err.Number & "-" & Err.Description & vbNewLine &_
"Entre em contato com o desenvolvedor responsável."
End If


 

Exit Sub

A instrução “Exit Sub” serve para abortar o script.

Vamos mostrar um exemplo de tratamento de script, mostrando que pode-se prever o erro de script sem usar as instruções citadas anteriormente.

If Screen.Item("Setpoint1").Value = "" then
MsgBox "Preencha o Setpoint antes de pressionar o botão!"
Exit Sub
End If

'...
'resto do script
'...

O exemplo acima resolveria a situação 1), citada no início do artigo.

Para mais informações sobre as instruções do vbScript, consulte o Guia de Referência do vbScript.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Comentários em “Tratamento de erros de script.

  1. Seria muito interessante para o desenvolvedor o recurso básico de colocar breakpoints no script, para depurar erros que acontecem em determinado instante, ou apenas ver o que acontece com o script. Facilitaria se já viesse nativo esse recurso na instalação do Elipse!

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *