Excepções (Java)/Exemplos simples de excepções
From Wiki**3
< Excepções (Java)
Caso 1
Um erro detectado em tempo de execução. Embora não seja habitual tratar os erros como se fossem excepções, é possÃvel fazê-lo.
Excepção
class UmaExcepção extends Exception {}
Programa
public class Teste1 {
public static void f() throws UmaExcepção {
throw new UmaExcepção();
}
public static void g() throws UmaExcepção {
g(); // vai rebentar com a pilha e gerar um StackOverflowError
}
public static void main(String[] args) {
// unreported exception UmaExcepção; must be caught or declared to be thrown
// g();
try {
g();
}
catch(StackOverflowError e) {
// não devia ser apanhado! mas pode ser...
System.out.println("PILHA!");
}
catch (UmaExcepção e) { /* este bloco nunca é executado! */ }
finally { System.out.println("FINALMENTE!"); }
}
}
Resultado
$ java Teste1 PILHA! FINALMENTE!
Caso 2
Excepção
class UmaExcepção extends Exception {}
Programa
public class Teste2 {
public static void f() throws UmaExcepção {
throw new UmaExcepção();
}
public static void g() throws UmaExcepção {
f();
}
public static void main(String[] args) {
try {
g();
}
catch (UmaExcepção e) {
System.out.println("UmaExcepção apanhada!");
}
finally {
System.out.println("FINALMENTE!");
}
}
}
Resultado
$ java Teste2 UmaExcepção apanhada! FINALMENTE!