 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Bixio Guest
|
Posted: Thu Jan 29, 2004 5:51 pm Post subject: [newbie] generare eccezioni |
|
|
Chi mi da una mano?????
Ho queste due classi, NewBie e MyTimer, ve ne scrivo una solo la parte
"interessante"...
public class NewBie ....
.....
try {
myTimer.stopped=false;
myTimer.start(); //alla fine di questo thread la
//variabile stopped diventa true
while (myTimer.stopped == false) {
//interno del ciclo while, con istruzioni "bloccanti"
}
} catch (IOException e) {
System.out.println("Eccezione IOn");
}
.....
myTimer appartiene ad una classe MyTimer che implementa l'interfaccia
Runnable.
Vorrei fare in modo che il metodo run() di MyTimer generi un'eccezione che
interrompa il blocco try-catch della classe NewBie....
E' possibile? Se si come?
Se no... come ????
Grazie
|
|
| Back to top |
|
 |
MarcoDuff Guest
|
Posted: Fri Jan 30, 2004 3:59 pm Post subject: Re: [newbie] generare eccezioni |
|
|
Rispondo a Bixio che in data 29/01/2004 alle 18:51 ha scritto:
| Quote: | Chi mi da una mano?????
Ho queste due classi, NewBie e MyTimer, ve ne scrivo una solo la parte
"interessante"...
[CUT]
myTimer appartiene ad una classe MyTimer che implementa l'interfaccia
Runnable.
Vorrei fare in modo che il metodo run() di MyTimer generi un'eccezione che
interrompa il blocco try-catch della classe NewBie....
E' possibile? Se si come?
|
Si.
Ma per sisponderti serve sapere il tipo di eccezione che deve essere
generata. Una eccezione esistente, o una creata da te? Per il secondo caso
devi crearti una classe che estenda RuntimeException (maggiori info nella
doc di java).
In tutti e due i casi dentro il ciclo while() devi generare l'eccezione,
qualche cosa del tipo:
if(condizione_di_errore) throw new ClasseDellaEccezioneCheDeviGenerare();
Ovviamente per gestirla devi anche mettere il catch esatto:
try {
[...]
}
catch(ClasseDellaEccezioneCheDeviGenerare e) {}
--
Marco "Duff" Palermo
http://www.marcoduff.com/
|
|
| Back to top |
|
 |
Bixio Guest
|
Posted: Sat Jan 31, 2004 10:08 am Post subject: Re: [newbie] generare eccezioni |
|
|
"MarcoDuff" <la.trovi.nel.sito (AT) marcoduff (DOT) com> ha scritto nel messaggio
news:14qxtsgn21opq$.1102ev0x0s34y$.dlg (AT) 40tude (DOT) net...
| Quote: | Ma per sisponderti serve sapere il tipo di eccezione che deve essere
generata. Una eccezione esistente, o una creata da te? Per il secondo caso
devi crearti una classe che estenda RuntimeException (maggiori info nella
doc di java).
|
Avevo provato a generare una mia eccezione MyOwnException che estendeva
Exception, però, non RunTimeException...
infatti riusciva a "catcharmela" solo all'interno della classe che la
utilizzava, non dentro il ciclo while del thread più esterno.
Potrebbe ciò dipendere dal mio modo errato di estendere la mia eccezione?
| Quote: | In tutti e due i casi dentro il ciclo while() devi generare l'eccezione,
qualche cosa del tipo:
if(condizione_di_errore) throw new ClasseDellaEccezioneCheDeviGenerare();
Ovviamente per gestirla devi anche mettere il catch esatto:
try {
[...]
}
catch(ClasseDellaEccezioneCheDeviGenerare e) {}
--
|
In ogni caso il problema l'ho risolto in una maniera più "spiccia" e forse
anche un po' più elegante dell'usare un'eccezione, che dovrebbe servire
esclusivamente (secondo Bruce Eckel) per la gestione di comportamenti
erronei...
Comunque grazie della consulenza
Ciao
Fabrizio
|
|
| Back to top |
|
 |
MarcoDuff Guest
|
Posted: Sun Feb 01, 2004 10:37 pm Post subject: Re: [newbie] generare eccezioni |
|
|
Rispondo a Bixio che in data 31/01/2004 alle 11:08 ha scritto:
| Quote: | Avevo provato a generare una mia eccezione MyOwnException che estendeva
Exception, però, non RunTimeException...
infatti riusciva a "catcharmela" solo all'interno della classe che la
utilizzava, non dentro il ciclo while del thread più esterno.
Potrebbe ciò dipendere dal mio modo errato di estendere la mia eccezione?
|
No, avrai sbagliato qualche altra cosa...
--
Marco "Duff" Palermo
http://www.marcoduff.com/
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|