Você está na página 1de 18

UNIVERSIDADE SÃO TOMÁS DE

MOÇAMBIQUE
FACULDADE DE TECNOLOGIAS E CIÊNCIAS
DE INFORMAÇÃO
CURSO DE ADMINISTRAÇÃO DE SISTEMAS
DE INFORMAÇÃO E REDES

PROGRAMAÇÃO II

Aula 31, 32 e 33
Docente: Ivan Mandane
Agenda

Tratamento de Erros – Exception


• Exception, try, catch e finally
• Exception, multi catch, stacktrace e
throws
• Exception, Hierarquia das Classes

Docente: Ivan Mandane


Introdução
• Na execução de um programa podem ocorrer erros que podem tanto
causar a interrupção do programa quanto produzir resultados
incorretos ou comportamento inesperado.
• Existem erros de lógica e erros de execução.

Docente: Ivan Mandane


Introdução
• Excepção: indicação de um problema que ocorre durante a execução
de um programa
“Espera-se que uma excepção seja um problema que ocorre
raramente.”

Docente: Ivan Mandane


Introdução
• ERROS LÓGICOS

Estes erros se apresentam no desenvolvimento de um algoritmo não


apropriado para solucionar o problema que se propõe. Estes erros
não necessariamente causam interrupção na execução do programa.

Docente: Ivan Mandane


Introdução
• ERROS DE EXECUÇÃO

São erros mais específicos em relação aos lógicos, que decorrem de


uma operação inválida e causam interrupção na execução do
programa. Este tipo de erro depende da plataforma e da linguagem
que está sendo utilizada, por exemplo se realizamos uma divisão por
zero vai causar um erro de execução.

Docente: Ivan Mandane


Hierarquia das Excepções Java

Docente: Ivan Mandane


Tratamento de excepções
• Permitem que programadores criem aplicativos que resolvam ou
tratem excepções (erros)
• Permite que programa continue executando como se nenhum
problema tivesse ocorrido

Docente: Ivan Mandane


Tratamento de excepções
• O tratamento de excepções em Java permite a gestão de erros em
tempo de execução;
• Uma excepção em Java é um objecto que descreve uma condição de
excepção que ocorreu em algum fragmento de código;

Docente: Ivan Mandane


Tratamento de excepções
• try - é usada para indicar um bloco de código que possa ocorrer uma
excepção.
• catch – serve para manipular as excepções, ou seja, tratar o erro
• finally – sempre será executado depois do bloco try/catch. O
importante é saber que esse bloco

Docente: Ivan Mandane


Tratamento de excepções
• try {
//bloco de código
}
catch(TipoDeExceçãoreferênciaParaExceção)
{
//código a ser executado
//caso a excepção geral
//seja disparada
}

Docente: Ivan Mandane


Tratamento de excepções

Docente: Ivan Mandane


Tratamento de excepções

Docente: Ivan Mandane


Tratamento de excepções
try {
Uma vez que um bloco de // Código a executar
}
código pode provocar vários catch (ExeptionTipo1){
erros diferentes, é possível //Tratamento de erro do tipo1
personalizar o tratamento de }
erros através da captura de catch (ExeptionTipo2){
//Tratamento de erro do tipo2
erros específicos usando a
}
cláusula Try com várias catch (ExeptionTipo3){
cláusulas Catch conforme o //Tratamento de erro do tipo3
exemplo: }
…..
……
finally{
//Código que sempre se executa
}Docente: Ivan Mandane
Exemplo

Docente: Ivan Mandane


Aplicações seguras
Uma porção de código é considerada "segura", no contexto do
tratamento de excepções, se as falhas no código, ocorridas em tempo
de execução, não produzem efeitos prejudiciais, como:
• vazamentos de memória
• corrupção de dados
• saída inválida
• Etc.

Docente: Ivan Mandane


Aplicações seguras- Níveis
1-transparência à falha : há garantia que as operações ocorrerão com sucesso e
satisfarão todos os requerimentos, mesmo na presença de situações excepcionais.
Este é o melhor nível de segurança.
2-transacional : as operações podem falhar, mas quando isso ocorre as operações não
causam efeitos colaterais.
3-segurança básica: execuções parciais de operações que falham podem causar
efeitos colaterais, mas os invariantes de estado são preservados (isto é, qualquer
dado gravado conterá valores válidos).
4-segurança mínima: execuções parciais de operações que falham podem gravar
dados inválidos mas não levarão à falha completa (crash) do programa.
5-sem segurança: não há qualquer garantia. Este é o pior nível de segurança para com
excepções.

Docente: Ivan Mandane


FIM

Docente: Ivan Mandane

Você também pode gostar