PDA

Visualizza la versione completa : [java] problema nel gestire le eccezioni..


ianstilo
21-01-2005, 17:17
questo l'errore che mi d:

1. ERROR in Classe.java (at line 41)
public Classe get(String nomeCosa) throws MyException{
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This method must return a result of type Classe
----------
2. ERROR in Classe.java (at line 48)
} catch (MyException e) { e.tipoEccezione(); }
^^^^^^^^^^^^^^^^^^^^^^
Unreachable catch block

come devo gestirla?

perzem
21-01-2005, 17:29
1.public Classe get(Classe nomeCosa)

devi ritornare lo stesso tipo della classe!!!!


2. per la seconda passsa tutto il blocco di codice che magari l'errore da altre parti tipo parentesi

ianstilo
21-01-2005, 17:40
no..il discorso ...devo creare una mia classe MyException che estende Exception...

come faccio per esempio mettiamo che una classe ha

class pippo... throws MyException {
....
....

devo gestire i vari errori...come??

ianstilo
21-01-2005, 17:46
Questa la mia interfaccia..e poi ho la classe che la implementa..


import java.util.Iterator;


public interface Pippo {

/**
* Restituisce il numero di elemento presenti.
*
* @return il numero.
*/
public int numElem();

/**
* Restituisce un iterator sull'insieme di elementi
*
* @return un <tt>Iterator</tt> sull'insieme di elem.
*/
public Iterator elencaElem();

/**
* Restituisce l'elemento specificato dall'argomento se presente
*
* @throws MyException se l'elemento specificato non esiste.
* @throws NullPointerException se l'argomenti e' <tt>null</tt>.
*/
public Elem get(String nomeElem) throws MyException;


public int distanza(String c1, String c2) throws MyException;


}

perzem
21-01-2005, 17:48
prova a guardare questo link

http://www.di.unipi.it/~monta/LSD-02/LSD/Eccezioni/Gestione/main.html


http://www.siforge.org/articles/2002/12/04-eccezioni_java-3.html#hl_h34

ianstilo
21-01-2005, 17:55
il fatto che io ho questo:

public Metodo get(String nomeCosa) throws MyException{
try{
int j = 0;
while ((((Cosa)(elencoCose.get(j))).getNome()) != nomeCosa){
j++;
}
return (Cosa)(elencoCosa.get(j));
} catch (MyException e) { e.cosaFantasma(); }



}



gli metto quel try catch per sollevare l'eccezione nel caso la Cosa non esista...

ma in compilazione mi dice:
The method cosaFantasma() is undefined for the type MyException

..


in MyException come lo devo implementare?

class cosaFantasma extends MyException {

...

}

perzem
21-01-2005, 18:18
non te lo so dire prova a consulare la java.doc

Loading