AERBP
Jorge
Pina
2013
/
2014
Mdulo 11
Programao Orientada a Objetos Avanada
Curso - Tcnico de Gesto e Programao de Sistemas Informticos
Disciplina - Programao e Sistemas de Informao
Contedos da Disciplina
Modulo XI Programao Orientada a Objectos Avanada
Objectivos
Fazer o tratamento de erros de uma maneira estruturada;
Virtualizar fluxos de dados atravs do conceito de Stream;
AERBP
Jorge
Pina
17-01-2014
Contedos da Disciplina
(40 tempos)
AERBP
Jorge
Pina
Manipulao de Excepes;
I t d ao conceito
Introduo
it de
d Stream;
S
Derivao de Streams.
Excepes (1)
AERBP
Jorge
Pina
17-01-2014
Excepes (2)
execuo
de
um
programa
pode
parar
AERBP
Erro de lgica: Diviso por zero, acesso fora dos limites de um array,
l it
leitura
d nmero
de
com formato
f
t invlido
i lid
Jorge
Pina
Excepes (3)
AERBP
Jorge
Pina
17-01-2014
Excepes (4)
AERBP
Jorge
Pina
Erro
Instncia da classe
ArithmeticException
Acesso a ndice de
array fora dos limites
ArrayIndexOutOfBounds
Exception
Acesso a ficheiro no
existente
FileNotFoundException
Acesso a servidor no
disponvel
SocketException
Excepes (5)
AERBP
Jorge
Pina
Os blocos TryCatch...Finally
17-01-2014
Excepes (6)
Tratamento de Excepes
try {
// cdigo a ser executado
} finally {
Jorge
Pina
Excepes (6)
public class DivZero{
public static void main (String[]args) {
int a=1, b=0;
try{
System.out.println(a/b);
e, identifica o objecto
instanciado (Exception)
Provoca diviso por zero
y
p
(
p
)
System.out.println("Diviso
por Zero");
AERBP
}
Jorge
Pina
Se a excepo no fosse
tratada, esta instruo no
System.out.println("Fim do Programa"); seria executada
}
10
17-01-2014
Excepes (7)
Os blocos Try...Catch...Finally
AERBP
Jorge
Pina
Excepes (8)
AERBP
Jorge
Pina
VirtualMachineError
CoderMalfunctionError
Clicar
Clicar
12
17-01-2014
Excepes (9)
AERBP
Jorge
Pina
13
Excepes (10)
AERBP
Jorge
Pina
14
17-01-2014
Excepes (11)
AERBP
Jorge
Pina
15
Excepes (12)
erro
atrs
encaixa
na
classe
ArrayIndexOutOfBoundsException;
AERBP
Jorge
Pina
IndexOutOfBoundsException
NegativeArraySizeException
IOException
p
SQLException
Etc.
16
17-01-2014
Excepes (13)
AERBP
17
Jorge
Pina
A primeira
i
i verificao
ifi
tratada
t t d pelo
l mtodo
t d onde
d o bloco
bl
est includo
Se no houver tratamento, a excepo enviada para o
mtodo que a chamou e assim sucessivamente.
Se nunca for tratada, ao chegar a main() o programa
interrompido e o utilizador informado com uma mensagem
de erro.
Excepes (14)
AERBP
Excepo no tratada e
portanto eacalada para o
metodo
main
().
(Chamador)
Tratamento da Excepo
Imprime o contedo da pilha de
execuo dando informao sobre a
sequncia de invocao de mtodos
Jorge
Pina
17-01-2014
Excepes (15)
Escalamento de excepes com a directiva Throws;
exception);
AERBP
Jorge
Pina
19
Excepes (16)
Escalamento de excepes com a directiva Throws
{
public static void main (String[] args) throws java.io.IOException{
int n=0;
AERBP
n=System in read();
n=System.in.read();
System.out.println("n=='a'"+(n=='a'));
Jorge
Pina
System.out.println("n= "+n);
}
}
20
10
17-01-2014
Excepes (17)
AERBP
Jorge
Pina
21
/** Write
W it a description
d
i ti
off class
l
E
ExcepcaoEscalada2
E
l d 2 here.
h
* @author (your name)
* @version (a version number or a date)*/
public class ExcepcaoEscalada2a
{
public static void main (String[] args) {
int n=0;
try{
n=System.in.read();
}catch (Exception e){
e.printStackTrace();
}finally{
System.out.println("n=='a'"+(n=='a'));
System.out.println("n= "+n);
}
}
}
ArrayList
AERBP
Jorge
Pina
import java.util.ArrayList;
22
11
17-01-2014
ArrayList
NomeArrays.add("Jorge");
AERBP
Jorge
Pina
int a = NomeArray.size();
23
NomeArray.contains(elemento);
NomeArray.remove(elemento).
Referncias Bibliogrficas
AERBP
Jorge
Pina
24
12