Olá pessoal XD … eu vi no TestKiller uma pergunta assim:
static void test() throws Error {
if (true) throw new AssertionError();
System.out.print(?test ?);
}
public static void main(String[] args) {
try { test(); }
catch (Exception ex) { System.out.print(?exception ?); }
System.out.print(?end ?);
}
Qual é o resultado?
A. end
B. Compilation fails.
C. exception end
D. exception test end
E. A Throwable is thrown by main.
F. An Exception is thrown by main.
A resposta correta é a E… mas … pq?
Se no lugar o Assertion error fosse uma IOException por exemplo … ia ser a C… mas pq q nesse caso ele não aceita ser tratada pelo bloco try e propaga a excessão para o main?
outra dpuvida é quanto a diferença entre a E e a F
E. A Throwable is thrown by main.
F. An Exception is thrown by main.
não entendi … o que no código iria diferenciar se é uma Throwable ou uma Exception?
aguem pode dar algum exemplo de um código q lance Throwable e outro q lance Exception?
brigadao gente