Chapter VI - Exceptions Flashcards

1
Q

Runtime exceptions sao tambem conhecidas como unchecked exceptions.
Exemplos de exceptions unchecked: NullPointerException e ArrayIndexOutOfBoundsException.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Checked exceptions sao as exceptions que eu me programei para lidar, fazendo uso de throw new SomeException().

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como separar unchecked exception, checked exception e error.

Unchecked eh uma subclasse de RuntimeException, nao precisa ser tratada ou declarada no codigo
Checked eh uma subclass de Exception mas nao de RuntimeException, precisa ser declarada e/ou tratada no codigo.
Error eh uma subclass de Error (mais improvavel de ocorrer na exceucao de um prgrama)
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ter atencao com UnreachableCodeExceptions. Elas irao ocorrer quando eu colocar na minha lista de catchs uma superclass antes de subclasses

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Apenas um block catch ira ser executado caso o meu codigo contenha um erro.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Caso eu tenha um try-catch-finally block e dentro do meu catch eu lance outra exception, ainda assim o finally sera executado, nao esquecer disso.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Se:

dentro do meu catch eu lanco uma excecao e dentro do meu finally eu lanco outra excecao, apenas uma excecao sera lancada: a que eh lancada pelo block finally. Se meu bloco finally nao tiver nenhuma excecao em si, entao a exception lancada dentro do catch sera a utilizada.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Runtime Exceptions

ArithmeticException
ArrayIndexOutOfBoundsException
ClassCastException // quando eu tento fazer um cast que nao vai funcionar (um objeto que antes era string e agora eu quero fazer cast para Integer, por exemplo)
IllegalArgumentException
NullPointerException
NumberFormatException
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Checked Exceptions (O Java me obriga a declarar/tratar)

FileNotFoundException
IOException

*Declarar significa dizer que eu lanco a excecao, nao apenas digo que ela pode ser lancada. A diferenca entre essas duas coisas eh que para lancar eu faco: throw new Exception():

Dizer que ela pode ser lancada eh quando eu coloco ela na assinatura do metodo com: throws Exception();

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Errors

ExceptionInInitializerError // quando algum erro ocorre dentro de um bloco initializer dentro de uma classe e ela, assim, nao consegue ser carregada pelo Java (tanto esse erro quanto a exception que ocasionou o erro sao lancadas no log)
StackOverflowError // metodo se chama eternamente
NoClassDefFoundError // Java nao pode encontrar a classe em runtime

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Posso declarar tanto unchecked exceptions quando checked exceptions

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O bloco try { } necessita de um bloco catch { } e/ou um block finally { }. Em outras palavras, apenas o bloco try { } sozinho nao ira compilar.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Se uma exception for lancada e eu nao pegar ela em nenhum bloco catch, o programa ira passar pelo bloco finally, mas depois ele nao continua o fluxo do restante do metodo que ele esta inserido.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Se eu lancar uma exception e ela nao for pegue em nenhum lugar, a execucao do meu metodo acaba ali e pronto (obvio). Nao existe continuacao de fluxo de execucao se eu lancei uma exception que nao foi caught em lugar algum.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Posso declarar um metodo que tenha o retorno Exception, mas nesse caso apenas o objeto sera retornado e nao uma excecao que sera lancada.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qualquer classe que extends de Throwable pode ser declarada como “throws” na declaracao de um metodo.
Isso inclui:
Error, Exception e RuntimeException.

A
17
Q
Se minha classe implements uma interface e essa possui um metodo que lance uma excecao.
Ao fazer o override do metodo eu posso:
- escolher nao lancar nada
- lancar a mesma exception que foi declarada
- lancar qualquer exception que seja uma subclasse de runtime exception
- nao posso acrescentar uma exception que seja do tipo checked (subclass direta de expcetion)
A
18
Q

O Java me deixa tratar Errors mas isso nao eh recomendado.

A