Como alguns scripts demoram muito para serem executados, o Internet
Explorer solicita que o usuário decida se deseja continuar executando o
script de modo lento. É possível que alguns testes e parâmetros de
comparação usem scripts que levem muito tempo para serem executados e,
portanto, convém aumentar a quantidade de tempo antes que a caixa de
mensagem seja exibida. No Internet Explorer, você pode alterar o valor
do tempo limite do script em computadores cliente específicos
modificando uma entrada do Registro.
Em algumas situações, uma página da Web pode conter scripts que levam um
tempo extraordinariamente longo para serem executados. Se você estiver
executando o script de um controle ActiveX em uma página da Web para
transferir um arquivo muito grande ou fazer uma consulta em um banco de
dados grande, poderá haver um atraso significativamente longo. O
Internet Explorer 3.02 detecta o atraso longo e avisa o usuário por meio
de uma caixa de diálogo que contém as seguintes informações:
Esta página contém um script que está demorando muito tempo para ser
concluído. Para finalizar esse script agora, clique em Cancelar.
Um script desta página está tornando o Internet Explorer lento. Se ele
continuar sendo executado, seu computador poderá parar de responder.
Deseja anular o script?
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 ignoradosOn Error Resume Next
Application.GetObject("Dados.TagInexistente1").Value = 1Application.GetObject("Dados.TagInexistente2").Value = 1Application.GetObject("Dados.TagInexistente3").Value = 1‘…‘…
If Err.Number <> 0 thenMsgBox “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 = “” thenMsgBox “Preencha o Setpoint antes de pressionar o botão!”Exit SubEnd 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.