m |
|||
Line 1: | Line 1: | ||
+ | {{TOCright}} | ||
== Caso 1 == | == Caso 1 == | ||
Contents[hide] |
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.
class UmaExcepção extends Exception {}
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</FONT></FONT> } 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!"); } } }
$ java Teste1 PILHA! FINALMENTE!