|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 323
|
[JAVA]Lanciare eccezione su fallimento metodo
ciao a tutti,
avrei la necessità di lanciare un'eccezione quando un metodo dovesse fallire. Codice:
public void registra(String m){
int le=Integer.parseInt(m);
}
Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
ma giá la lanci: in quel codice non hai catturato l'eccezione unchecked NumberFormatException, che quindi se salta si propaga.
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 323
|
Quote:
Cioè, la stringa in ingresso sarebbe un input da tastiera e io dovrei verificare se la stringa passata è un intero. Altrimenti lancio un eccezione. Finora per gli altri controlli sull'input ho importato un'eccezione "Eccezione" fatta da me. In questo modo: Codice:
public static void inserisci(String x)throws Eccezione{
if(x.length()!=2)
throw new Eccezione("stringa immessa diversa da 2 caratteri");
}
Grazie |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Roma
Messaggi: 849
|
Potresti usare un Try-Catch
public void registra(String m){ try { int le=Integer.parseInt(m); } catch (Exception e) { e.printStackTrace(); } } Ovviamente "Exception e" viene usato per eccezioni generiche, ci dovrebbe essere anche un Eccezione apposita... ma non ne sono sicuro...
__________________
Il sentiero del lupo è sempre impervio, ma libero da padroni. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
Hai provato a complirae quel codice e/o usare un ide tipo eclipse?
Al massimo se hai bisogno di una eccezione personalizzata puoi fare il catch come ti hanno gia giustamente detto della number format exception e nel blocco catch fare il throw della tua eccezione
__________________
Khelidan |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 323
|
Credo di aver risolto così:
Codice:
public void registra(String m)throws Eccezione{
int le;
try {
le = Integer.parseInt(m);
}
catch (NumberFormatException e) {
throw new Eccezione("Il parametro non è un intero");
}
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
magari il nome dell'eccezione dovrebbe essere un po più parlante
__________________
Khelidan |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 323
|
Un'altra cosa..
Codice:
public void registra(String m)throws Eccezione{
int le;
try {
le = Integer.parseInt(m);
}
catch (NumberFormatException e) {
throw new Eccezione("Il parametro non è un intero");
}
//altro
}
Questa è l'eccezione: Codice:
public class Eccezione extends Exception{
String msg;
public Eccezione(String messaggio){
super(messaggio);
msg=messaggio;
}
public String getMsg(){
return msg;
}
}
Grazie ancora Ultima modifica di stefo85 : 21-06-2009 alle 18:00. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
che manca una parentesi graffa alla fine e che la variabile le non serve; scrivi cosi:
Codice:
public void registra(String m)throws Eccezione{
try {
Integer.parseInt(m);
}
catch (NumberFormatException e) {
throw new Eccezione("Il parametro non è un intero");
}
}
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Quote:
__________________
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:09.




















