50 Curso de Java
Exceptions:
stacktrace e
throws
Hands On!
classe Throwable
• Classe mãe de todas as exceptions
• Possui métodos úteis
Método Descrição
getMessage() retorna descrição do erro
printStackTrace() imprime o stack trace do erro
Capturando Exception genérica
• Error: resulta na finalização do programa
• Exception: possível tratar o erro e continuar
execução do programa
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (Throwable exc){
System.out.println(exc.getMessage());
exc.printStackTrace();
}
Não usar
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (Throwable exc){
System.out.println(exc.getMessage());
exc.printStackTrace();
}
Não usar
E sim usar
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (Exception exc){
System.out.println(exc.getMessage());
exc.printStackTrace();
}
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (Throwable exc){
System.out.println(exc.getMessage());
exc.printStackTrace();
}
Não usar
E sim usar
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (Exception exc){
System.out.println(exc.getMessage());
exc.printStackTrace();
}
Palavra chave throws
• Método pode disparar uma Exception
• Passa a responsabilidade pra quem for utilizar o
método
• Exceptions disparadas em tempo de execução
(ArrayOutofBounds,Arithmetic) não necessitam
de throws explicitamente
import java.io.IOException;
public class MultiCatch {
public static void main(String[] args) {
try {
int c = lerCaractere();
System.out.println("Valor ASCII é " + c);
} catch (IOException e) {
e.printStackTrace();
}
}
public static int lerCaractere() throws IOException {
System.out.println("Entre com um caractere");
int c = System.in.read();
return c;
}
}
https://github.com/loiane/curso-java-basico
Código Fonte:
Não conhece Git/Github?
http://www.loiane.com/2013/11/
screencast-git-e-github-para-iniciantes
http://loiane.training
Fórum para dúvidas + certificado do curso.
Cadastro em:
http://loiane.com
facebook.com/loianegroner
@loiane
https://github.com/loiane
youtube.com/user/Loianeg
Obrigada!
http://loiane.com

[Curso Java Basico - Exceptions] Aula 50: stacktrace e throws