Escolar Documentos
Profissional Documentos
Cultura Documentos
Java Fundamentos 06 (04h)
Java Fundamentos 06 (04h)
Pauta
Tratamento de exceo Lanando excees Hierarquia das excees: Excees verificadas Excees no verificadas Declarando novos tipos de excees Assertivas
Tratamento de exceo
Faa o cdigo 01 do material Tente informar ZERO no denominador O que aconteceu?
Tratamento de exceo
Todo cdigo que pode lanar exceo deve ficar dentro do bloco try; Dentro do bloco catch fica o cdigo que deve ser executado quando alguma exeo for lanada; Ordem de colocao do catch try{ ... codigo ...} catch{
Tratamento de exceo
try{ ... codigo ...} catch(TipoExcecao e){ ... codigo ... }
Tratamento de exceo
J vimos que quando uma parte do cdigo lana uma exceo a execuo interrompida; O que fazer quando for necessrio executar algum cdigo, mesmo quando ocorrer excees, como por exemplo: Fechamento de arquivos Fechamento de banco de dados Descarga de recursos
Tratamento de exceo
try{ ... codigo ...} catch(TipoExcecao e){ ... codigo ... }finally{ ... codigo ... }
Tratamento de exceo
O java garante que um bloco finally executar se uma exceo for lanada; Existe apenas um bloco finally para cada try; No obrigatrio; Sempre ser executado, sendo ou no lanada uma exceo;
Lanando excees
Quando for necessrio lanar uma nova exceo utilizamos a palavra chave: throw; Todo mtodo que lanar uma exceo deve utilizar a palavra chave throws para tornar explcito quais excees este mtodo lana. Exceo verificada
Exception
Error
Exception
Error
OutOfMemoryError
...
Exception
Error
RuntimeException
... ...
OutOfMemoryError
...
NullPointerException
Exception
Error
RuntimeException
...
OutOfMemoryError
...
NullPointerException
...
Exception
Error
RuntimeException
...
OutOfMemoryError
...
NullPointerException
...
Excees verificadas
So excees que devem ser tratadas obrigatoriamente; So verificadas em tempo de compilao; Tratamos de duas formas: NO herdam de RunTimeException try ... catch throws
Excees no verificadas
No so verificadas em tempo de compilao So verificadas em tempo de execuo; So subclasses da classe RuntimeException;
Exemplo
Faa o exemplo do cdigo 02
Exemplo
Faa o exemplo do cdigo 03
Assertivas
Utilizadas para auxiliar o programador a detectar bugs na implementao; assert expressao; Lana uma exceo do tipo AssertionError se a expresso for false; assert expressao1: expressao2; Lana uma exceo do tipo AssertionError com expressao2 como mensagem se a expresso1 for false;
Assertivas
Java 1.4 Parmetros de execuo: -ea Exemplo cdigo 04
Arquivos e fluxos
Pauta
Arquivos e fluxos Classe File Escrevendo em arquivos Lendo em arquivos JfileChooser Acesso aleatrio Serializao de objetos
Arquivos e fluxos
Tipos de fluxo:
Arquivos Rede STREAM
Classe File
Recupera informaes sobre arquivos ou diretrios; Alguns mtodos teis canRead(); exist(); getName(); getPath(); etc...
Escrevendo em arquivos
A classe Formatter Mtodo format(); aceita formatao Mtodo close(); fecha o fluxo Existem outras maneiras de escrever em um arquivo;
Lendo em arquivos
A classe Scanner O construtor Scaner( new File(...)) Mtodo hasNext() Mtodo next(); Mtodo close(); Existem outras formas de ler um arquivo
JFileChooser
Mtodos: showSaveDialog(); getSelectedFile(); Campos: CANCEL_OPTION
Acesso aleatrio
Permite leitura e escrita em arquivos RandomAccessFile
Serializao de objetos
A interface Serializable; A classe ObjectOutputStream Mtodo writeObject(); A classe ObjectInputStream Mtodo readObject();
Serializao de objetos
Todos os objetos com campos serializaveis podem ser serializados; Palavra-chave transient;
DVIDAS ??
Fim