Opa galera novamente eu alguem sabe pq isto esta errado??
void x2() throws EOFException {
try{
throw new EOFException();
}catch(FileNotFoundException e){
}catch(Exception e)
}
}
1)pq tive obrigatoriamente que declarar como interface publica throws EOFException?pois li que quando vc lanca uma excessao ou vc usa um try ou declara como interface publica mas aqui nao certo,só daria se usasse Exception
2)pq nao aceita FileNotFoundException?afinal nao é uma classe mais especifica?? Exception nao é a mais generica??
antes de tudo agradeco todo mundo pela paciencia e pela atencao
[quote=fabioEM]Opa galera novamente eu alguem sabe pq isto esta errado??
void x2() throws EOFException {
try{
throw new EOFException();
}catch(FileNotFoundException e){
}catch(Exception e)
}
}
1)pq tive obrigatoriamente que declarar como interface publica throws EOFException?pois li que quando vc lanca uma excessao ou vc usa um try ou declara como interface publica mas aqui nao certo,só daria se usasse Exception
2)pq nao aceita FileNotFoundException?afinal nao é uma classe mais especifica?? Exception nao é a mais generica??
antes de tudo agradeco todo mundo pela paciencia e pela atencao[/quote]
olá … do geito que o código está a declaração “throws EOFException” está redundante (desconsiderando a falta das chaves), exceções só são capturadas se forem instâncias da classe ou das heranças da Exceção que você declarou no “catch”, e a exceção EOFException não é herança de FileNotFoundException:
public class java.io.EOFException extends java.io.IOException {
…
public class java.io.IOException extends java.lang.Exception
[quote=smkk][quote=fabioEM]Opa galera novamente eu alguem sabe pq isto esta errado??
void x2() throws EOFException {
try{
throw new EOFException();
}catch(FileNotFoundException e){
}catch(Exception e)
}
}
1)pq tive obrigatoriamente que declarar como interface publica throws EOFException?pois li que quando vc lanca uma excessao ou vc usa um try ou declara como interface publica mas aqui nao certo,só daria se usasse Exception
2)pq nao aceita FileNotFoundException?afinal nao é uma classe mais especifica?? Exception nao é a mais generica??
antes de tudo agradeco todo mundo pela paciencia e pela atencao[/quote]
olá … do geito que o código está a declaração “throws EOFException” está redundante (desconsiderando a falta das chaves), exceções só são capturadas se forem instâncias da classe ou das heranças da Exceção que você declarou no “catch”, e a exceção EOFException não é herança de FileNotFoundException:
public class java.io.EOFException extends java.io.IOException {
…
public class java.io.IOException extends java.lang.Exception
espero ter ajudado!
[/quote]
Opa cara valeu!! tenho que decorar essas arvores de heranca mesmo pelo menos ate ate a 7 geracao diacho!!!
[quote=fabioEM][quote=smkk][quote=fabioEM]Opa galera novamente eu alguem sabe pq isto esta errado??
void x2() throws EOFException {
try{
throw new EOFException();
}catch(FileNotFoundException e){
}catch(Exception e)
}
}
1)pq tive obrigatoriamente que declarar como interface publica throws EOFException?pois li que quando vc lanca uma excessao ou vc usa um try ou declara como interface publica mas aqui nao certo,só daria se usasse Exception
2)pq nao aceita FileNotFoundException?afinal nao é uma classe mais especifica?? Exception nao é a mais generica??
antes de tudo agradeco todo mundo pela paciencia e pela atencao[/quote]
olá … do geito que o código está a declaração “throws EOFException” está redundante (desconsiderando a falta das chaves), exceções só são capturadas se forem instâncias da classe ou das heranças da Exceção que você declarou no “catch”, e a exceção EOFException não é herança de FileNotFoundException:
public class java.io.EOFException extends java.io.IOException {
…
public class java.io.IOException extends java.lang.Exception
espero ter ajudado!
[/quote]
Opa cara valeu!! tenho que decorar essas arvores de heranca mesmo pelo menos ate ate a 7 geracao diacho!!![/quote]
[quote=fabioEM][quote=smkk][quote=fabioEM]Opa galera novamente eu alguem sabe pq isto esta errado??
void x2() throws EOFException {
try{
throw new EOFException();
}catch(FileNotFoundException e){
}catch(Exception e)
}
}
1)pq tive obrigatoriamente que declarar como interface publica throws EOFException?pois li que quando vc lanca uma excessao ou vc usa um try ou declara como interface publica mas aqui nao certo,só daria se usasse Exception
2)pq nao aceita FileNotFoundException?afinal nao é uma classe mais especifica?? Exception nao é a mais generica??
antes de tudo agradeco todo mundo pela paciencia e pela atencao[/quote]
olá … do geito que o código está a declaração “throws EOFException” está redundante (desconsiderando a falta das chaves), exceções só são capturadas se forem instâncias da classe ou das heranças da Exceção que você declarou no “catch”, e a exceção EOFException não é herança de FileNotFoundException:
public class java.io.EOFException extends java.io.IOException {
…
public class java.io.IOException extends java.lang.Exception
espero ter ajudado!
[/quote]
Opa cara valeu!! tenho que decorar essas arvores de heranca mesmo pelo menos ate ate a 7 geracao diacho!!![/quote]
So mais uma duvida,corregi o problema fazendo como vc disse a excessao lancada agora faz parte da relacao de heranca mas pq o compilador me obrigaga acrescentar IOException na interface publica?
public class File2 {
void x2()throws IOException{
try{
throw new IOException();
}catch(FileNotFoundException r){
te obriga porque FileNotFoundException nunca conseguiria capturar IOException… no exemplo anterior, Exception tem condições de capturar EOFException, por isso que não te obrigava o “throws EOFException”… agora como neste caso FileNotFoundException nunca teria condições de capturar uma IOException, já que IOException é superclasse de FileNotFoundException, o throws torna-se obrigatório para poder jogar a exceção para o método anterior da pilha.
cara … para ficar mais facil… pense nas excecoes como Animais(exemplo bem idiota eu sei)
[code]public class Principal {
public static void main(String[] args) {
// FUNCIONA
try {
throw new Animal();
} catch (Animal ex) {
}
// FUNCIONA
try {
throw new Cachorro();
} catch (Mamifero ex) {
}
// NÂO FUNCIONA >> sapos não mamam!!!
try {
throw new Anfibio();
} catch (Mamifero ex) {
}
// NÃO FUNCIONA >>> você não pode mandar um Animal mamar,
// pois você não tem certeza se ele pode... pode ser um sapo!!
try {
throw new Animal();
} catch (Mamifero ex) {
}
}
? Faça um método que some os 10 primeiros
elementos de um array de inteiros.
? Caso o array tenha menos de 10 elementos
lance uma exceção
ArrayIndexOutOfBoundsException.
? Teste o método com vários arrays.
Alguem poderia me ajudar… a responder este exercicio…por favor?