Buscar

Tratamento de Exceções em Desenvolvimento de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Desenvolvimento 
de software
Fabiano Gonçalves
dos Santos
Aula 5
Tratamento de Exceções
• As exceções são um dos meios de se emitir 
uma interrupção para o processador do 
computador
• Existem duas origens principais de 
exceções :
–Hardware
–Software
2
T
ip
o
s
 d
e
 E
x
c
e
ç
õ
e
s
3
Classe Descrição
ArgumentException A exceção que é acionada quando um dos argumentos 
fornecidos para um método não é válido. 
ArgumentNullException A exceção que é lançada quando uma referência nula (Nothing 
no Visual Basic) é passada para um método que não aceita nulo 
como um argumento válido.
ArgumentOutOfRangeException A exceção é lançada quando o valor de um argumento estiver 
fora do intervalo de valores permitido conforme definido pelo 
método chamado.
IndexOutOfRangeException A exceção que é lançada quando é feita uma tentativa de 
acessar um elemento da matriz com um índice está fora dos 
limites da matriz. 
NotImplementedException A exceção que é jogada quando um método ou operação 
solicitada não é implementada.
OutOfMemoryException A exceção que é lançada quando não há memória suficiente para 
continuar a execução de um programa.
OverflowException A exceção é lançada quando uma operação aritmética, 
transmissão ou conversão em um contexto marcada resultados 
em um estouro.
FileNotFoundException A exceção que é lançada quando uma tentativa de acessar um 
arquivo que não existe no disco falha. Faz parte do escopo 
System.IO.
Estrutura de um Bloco de Tratamento 
de Exceções
4
Try
'tenta executar um ou mais comandos
Catch variavel As Exception
'captura uma possível exceção originado da
'tentativa de execução do comando anterior
Finally
'executa um ou mais comandos independente de
'uma exceção ocorrer ou não
End Try
Try... End Try
5
excecao1.vb
1
2
3
4
5
6
7
8
9
10
11
12
Module Module1
Sub Main()
Dim i As Decimal = 10
Dim j As Decimal = 0
Dim Resultado As Decimal
Resultado = i / j
Console.ReadKey()
End Sub
End Module
Exemplo
6
Catch
7
excecao2.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Module Module1
Sub Main()
Dim i As Decimal = 10
Dim j As Decimal = 0
Dim Resultado As Decimal
Try
Resultado = i / j
Catch ex As Exception
'Captura uma exceção genérica, não específica
Console.WriteLine("Houve um erro devido a uma divisão por zero!")
End Try
Console.ReadKey()
End Sub
End Module
Erro da instrução Catch para capturar 
erro específico de divisão por zero
8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Module Module1
Sub Main()
Dim i As Decimal = 10
Dim j As Decimal = 0
Dim Resultado As Decimal
Try
Resultado = i / j
Catch exDivideByZero As DivideByZeroException
'Captura uma exceção específica de divisão por zero
Console.WriteLine("Houve um erro devido a uma divisão por zero!")
Catch ex As Exception
'Captura genérica, não específica
Console.WriteLine("Houve um erro qualquer!")
End Try
Console.ReadKey()
End Sub
End Module
Uso de tratamento de exceção para 
capturar erro de abertura e leitura de 
arquivo
9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Imports System.IO
Module Module1
Sub Main()
Dim FileName As String = "TestFile.data"
'Bloco externo
Try
Dim fs As New FileStream(FileName, FileMode.Open, FileAccess.Read)
'Bloco interno
Try
Dim reader As New BinaryReader(fs)
reader.ReadInt32()
Catch ex As Exception
Console.WriteLine("Erro na leitura do arquivo.")
End Try
Catch ex As Exception
Console.WriteLine("Erro na abertura de arquivo.")
End Try
Console.ReadKey()
End Sub
End Module
Finally
10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Module Module1
Sub Main()
Dim i As Decimal = 10
Dim j As Decimal = 0
Dim Resultado As Decimal
Try
Resultado = i / j
Catch exDivideByZero As DivideByZeroException
'Captura uma exceção específica de divisão por zero
Console.WriteLine("Houve um erro devido a uma divisão por zero!")
Catch ex As Exception
'Captura genérica, não específica
Console.WriteLine("Houve um erro qualquer!")
Finally
Beep()
Console.WriteLine("O programa finalizou.")
End Try
Console.ReadKey()
End Sub
End Module
Lançamento de Exceções (Throw)
11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Module Module1
Sub Main()
Dim i As Decimal = 10
Dim j As Decimal = 0
Dim Resultado As Decimal
Try
If (j = 0) Then
Throw New System.Exception("Divisor j igual a zero.")
End If
Resultado = i / j
Catch ex As Exception
'Captura genérica, não específica
Console.WriteLine("Ocorreu uma exceção: {0}", ex.Message)
Finally
Beep()
Console.WriteLine("O programa finalizou.")
End Try
Console.ReadKey()
End Sub
End Module
Desenvolvimento 
de software
Fabiano Gonçalves
dos Santos
Atividade 5
12
Vamos praticar
13
©
 A
lp
h
a
s
p
ir
it 
| 
D
re
a
m
s
ti
m
e
.c
o
m

Outros materiais