exceção é lançada pela JVM ou pela API

4 respostas
E

Pessoal.

Como vou saber se uma exceção é lançada pela JVM ou pela API ?

Não vale responder: Ah! Se for verificada é pela api, caso contrário é pela JVM.

Esta resposta não é correta porque NumberFormatException por exemplo é uma exceção não verificada que não é lançada pela JVM. Pelo menos assim está no livro Katy Sierra.

Nem na documentação tem esta especificação e eu tenho que saber para o exame.

valeu galera !

4 Respostas

Felagund

Todas as classes que vem de Exception são da API.

A diferença é que NumberFormat é uma RumtimeException, que é lançada durante tempo de execução do sistema, mas é possivel de captura-las

As classes que descendem de Erro (Se não me engano), não podem ser capturadas, tem a ver com o ambiente ou falha interna na JVM.

E

Exceções lançadas pela JVM normalmente são aquelas que são mais fáceis de serem determinadas por ela mesma, como algumas exceções derivadas de RuntimeException, como ArrayIndexOutOfBoundsException, NullPointerException ou ClassCastException ou referentes a problemas que ocorreram com ela (tipicamente as exceções derivadas de java.lang.Error), como OutOfMemoryError ou StackOverflowError.

(A propósito, nem sabia que tal coisa caía na prova, se é que cai. Não tive que responder nada parecido.)

Marky.Vasconcelos

Error é lançado pela JVM e nao tem solução.

Exceptions são para serem lançadas e tratadas.

William_Alves

Ola Mark blza :smiley:

Não tenho muito a acrescentar, pois os colegas ja disseram tudo, Exceções de jvm, são as lançadas em tempo de execução que descende de RuntimeException e Error, ja as verificadas você deve declara ou tratar, estas são derevidas de Exception.

Um outro colega teve a mesma duvida e o post dele me ajudou, dê uma olhadinha.
http://www.guj.com.br/posts/list/134269.java

Quanto a NumberFormatException
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/NumberFormatException.html

Abraços.

Criado 1 de setembro de 2009
Ultima resposta 2 de set. de 2009
Respostas 4
Participantes 5