Você está na página 1de 3

Tratamento de erros no VB 2006/2007

Bases de Programação 11º Visual Basic

Curso Tecnológico de Depuração de erros


Informática
Profa. Carla Cruz
2006/2007

Ambiente de programação do
VB Tipos de erros

 Quando tentamos escrever código ou  Genericamente existem os seguintes


correr um programa podem acontecer tipos de erros:
2 situações: 1. Compile errors (erros de compilação) ou
 Apresentação de sugestões na escrita do erros de sintaxe
código  Escrita incorrecta de palavras ou instruções,
 MsgBox (prompt,…) detectados:
 Imediatamente, no momento de escrita
 Apresentação de mensagens de  No momento de correr ou compilar o programa
detecção de erros
01-06-2007 12:30 3 01-06-2007 12:30 4

Tipos de erros Depuração


2. Run Time errors (erros em tempo de execução)  Actividade de programação que
 Ocorrem depois da compilação do programa, mas em
que se verifica a impossibilidade de execução de consiste em testar um programa e
determinada acção procurar erros de execução ou de
 Divisão por zero
 Aceder a disquete sem ela existir no drive lógica
3. Logic errors  Debugging ou Depuração
 Erros na estrutura dos programas que o compilador
não detecta
 Originam resultados inesperados ou incorrectos
 Devem ser descobertos pelo programador!!

01-06-2007 12:30 5 01-06-2007 12:30 6

Bases de Programação 11º ES/3 de Valbom pág. 1


Tratamento de erros no VB 2006/2007

Modos no ambiente de Ferramentas auxiliares de


programação depuração
 Design time (tempo de desenho)  Janela Immediate
 Executar instruções directamente ou de imediato
 Criar interface e escrever código  Obter informações acerca do que se passa no programa,
valores das variáveis, …
 Run time (tempo de execução)  View > Immediate Window OU Ctrl + G
 Execução do programa  Janela Watch
 Break time ou Break mode (tempo de  Observar os valores assumidos pelas variáveis ou
expressões contidas no código de um programa em
interrupção) determinado momento da sua execução
 Quando um programa está em execução mas é  View > Watch Window
interrompido  Janela Locals
 Devido a erro de execução (Run Time Error)  Visualizar valores assumidos por todas as variáveis
contidas num determinado procedimento ou subprograma
 Intencionalmente, por imposição do programador
 View > Locals Window
01-06-2007 12:30 7 01-06-2007 12:30 8

Menu Debug Menu Debug

 Step Into (F8): execução passo a  Step Out: executa o código do subprograma
passo > avançar de instrução em por inteiro e não linha a linha; se o
instrução subprograma tiver sido chamado por outro,
a execução passa para a instrução seguinte
 Step Over (Shift + F8): avança para a a essa chamada
instrução seguinte que no caso de ser  Run to Cursor: executa as instruções desde
um Sub ou Function, este é executado a linha “amarela” até à posição onde estiver
em background o cursor nesse momento

01-06-2007 12:30 9 01-06-2007 12:30 10

Menu Debug Menu Debug

 Step Out: executa o código do subprograma  Add Watch


por inteiro e não linha a linha; se o
 Edit Watch
subprograma tiver sido chamado por outro,
a execução passa para a instrução seguinte  Quick Watch
a essa chamada  Toggle Breakpoint
 Run to Cursor: executa as instruções desde
a linha “amarela” até à posição onde estiver
o cursor nesse momento

01-06-2007 12:30 11 01-06-2007 12:30 12

Bases de Programação 11º ES/3 de Valbom pág. 2


Tratamento de erros no VB 2006/2007

Erros handling routines


Private Sub Command1_Click()
On Error GoTo TrataErros
Visual Basic  “On Error GoTo TrataErros”
 Instruções

Instruções
 TrataErros: …
 Instruções TrataErros:
Select Case Err.Number
Tratamento de erros Case 6
Instruções
Validar Dados Case 13
Instruções

Case Else
Instruções
End Select
01-06-2007 12:30 End Sub 14

Instrução Resume Validar dados


 Resume  Funções:
 Programa continua na instrução que deu origem ao
erro  IsNumeric(x)
 Resume Next  Verifica/avalia se o argumento x é um valor
 Programa continua na instrução imediatamente a numérico ou não
seguir à instrução que deu origem ao erro
 IsDate(x)
 Resume Linelabel
 Programa é desviado para a linha de código  Verifica/avalia se o argumento x é
indicada por Linelabel. Usar quando: reconhecido como uma data ou não
 Não se tem a certeza que o erro previsto possa ser True – Valor devolvido se
corrigido pelo utilizador e
 O programa também não deva prosseguir ignorando o erro Verdadeiro
01-06-2007 12:30 15 01-06-2007 12:30 False – Valor devolvido se Falso 16

Bases de Programação 11º ES/3 de Valbom pág. 3

Você também pode gostar