Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

throwException problem? pomozite...

[es] :: Java :: throwException problem? pomozite...

[ Pregleda: 2678 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

unbeat
Milos silni

Član broj: 38473
Poruke: 26
*.adsl.verat.net.



Profil

icon throwException problem? pomozite...03.11.2006. u 19:54 - pre 211 meseci
Jednostavno sam se zaglupeo... pomozite mi pametni ljudi...

elem, trebalo bi da bacim customException na pritisak jednog dugmeta i da ga uhvatim u drugoj klasi

poceo sam ovako...

1. dugme ima komandu

2. komanda se hvata i obradjue u ActionPerformed proceduri

3. PROBLEM! ne mogu da bacim izuzetak! kaze mi da dodam throws klauzulu, ali ne dozvoljava da dodam svoj izuzetak jer je actionPerformed nasledjena iz ActionListenera... Ima li neko resenje? suvise sam glup trenutno :(


evo i parce koda da vam bude jasnije na sta mislim:

public void actionPerformed(ActionEvent e) {
System.err.println(e);
Object sender = e.getSource();
String komanda = e.getActionCommand();

if (komanda.equals("Stop")) {
/* OVDE BI TREBALO DA BACIM IZUZETAK */
}
...........................................................................................

public class BlaBla extends BlaBlaBla {

public void crtaj(VirtuelniEkran ve, int mode, int delay, int xP, int yP, int xQ, int yQ, Color col) {
int x = xP, y = yP, D = 0, HX = xQ - xP, HY = yQ - yP,
c, M, xInc = 1, yInc = 1;

if (HX < 0){xInc = -1; HX = -HX;}
if (HY < 0){yInc = -1; HY = -HY;}

if (HY <= HX) {
c = 2 * HX; M = 2 * HY;
for (;;) {
/*!!! OVDE BI TREBALO DA UHVATIM IZUZETAK !!!*/

}
Highlife - magazin za uspešne
http://www.highlife.rs
 
Odgovor na temu

antix

Član broj: 8388
Poruke: 265
*.net.upc.cz.

Jabber: antix@elitesecurity.org


Profil

icon Re: throwException problem? pomozite...04.11.2006. u 11:03 - pre 211 meseci
tvoj CustomException mora da nasleđuje RuntimeException a ne Exception tj. mora da bude unchecked exception da bi mogao da ga baciš iz metoda koji nasleđuješ, a koji u svom potpisu nije naznačio da baca isti taj exception ili eventualno njegovu nadklasu. Znači

Code:

public class CustomExc extends RuntimeException{
    //...
}


a onda

Code:

try{
   // pozovi metod koji baca CustomExc
}catch(CustomExc ce){
  // do whatever
}
 
Odgovor na temu

unbeat
Milos silni

Član broj: 38473
Poruke: 26
*.adsl.verat.net.



Profil

icon Re: throwException problem? pomozite...04.11.2006. u 13:37 - pre 211 meseci
HVALA PUNO :)
mada... i dalje traje problem...!?!??!


kako da uhvatim taj izuzetak u drugoj niti?


[Ovu poruku je menjao unbeat dana 04.11.2006. u 16:47 GMT+1]
Highlife - magazin za uspešne
http://www.highlife.rs
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9446
*.eunet.yu.



+10242 Profil

icon Re: throwException problem? pomozite...04.11.2006. u 20:05 - pre 211 meseci
Čini mi se da Exception-e shvataš nešto malo drugačije. Ne možeš Exception da "uhvatiš u drugoj niti", već samo iz metode iz koje si pozvao.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

antix

Član broj: 8388
Poruke: 265
*.net.upc.cz.

Jabber: antix@elitesecurity.org


Profil

icon Re: throwException problem? pomozite...04.11.2006. u 20:34 - pre 211 meseci
pa ne treba da hvataš izuzetke po nitima već u kodu (nezavisno od toga u koliko niti ili koja nit će da izvršava taj tvoj kod)

nije mi baš jasno :)
 
Odgovor na temu

unbeat
Milos silni

Član broj: 38473
Poruke: 26
*.adsl.verat.net.



Profil

icon Re: throwException problem? pomozite...05.11.2006. u 11:45 - pre 211 meseci
pokusacu da razjasnim...

u klasi konzola, koja prikazuje formu na ekranu, nalazi se jadno dugme :). druga nit programa izvrsava crtanje po glavnoj formi. e sad, pritiskom na ono navedeno dugme bacam izuzetak kojim je potrebno zaustaviti crtanje... odnosno, kako stoji u zadatku, potrebno je da ona druga nit "provali" da je bacen taj izuzetak i prekine sa radom.

ovo je bilo mojim recima, a prenosim vam i citiran deo zadatka:
"Klasa BlaBla baca izuzetak Prekid cime se nit kontrole koja vrsi crtanje obavestava da treba da bude zaustavljena."

Ono sto meni pada na pamet jeste da u kontruktoru izuzetka promenim neki parametar kojim ce nit za crtanje provaliti da treba da bude zaustavljena. Da li razmisljam u dobrom pravcu? Ja bar ne vidim drugo resenje... zato sto se u try - catch delu niti za crtanje ne koristi metod koji treba da baci taj izuzetak, vec se on baca iz druge niti. Kako da ga uhvatim? ne znam...

ako neko ima resenje, bio bih veoma zahvalan... dani prolaze, stojim ukopan u mestu...

pozdrav
Highlife - magazin za uspešne
http://www.highlife.rs
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9446
*.eunet.yu.



+10242 Profil

icon Re: throwException problem? pomozite...05.11.2006. u 23:13 - pre 211 meseci
Hm. Ti si u velikoj zabludi. Ono što tebi treba je koncept "semafora" ili običan "flag".
Sa druge strane, ukoliko si tačno prepisao, tj. citirao zadatak, po svemu sudeći profesor/asistent je takođe u zabludi, što već zabrinjavajuće. Zaista mislim tako.
Izuzetak, tj. Exception je koncept kojim se pokriva i obrađuje mogućnost neregularnog izvršavanja dela koda. Najbolji primer je rad sa bazom podataka.

Neka je potreban sledeći kod:

Code:
 podaci = baza_podataka.dajPodatke()

međutim, postoji mnogo razloga koji mogu dovesti do toga da se podaci ne mogu dobiti. Zato
Code:
probaj {
    podaci = baza_podataka.dajPodatke()
} uhvati (izuzetak nepostojanja konekcije sa bazom)  {
    prikazi poruku korisniku da nema konekciju
} uhvati (izuzetak nepostojanja tabele u bazi)  {
    prikazi poruku korisniku da je los SQL upit
} uhvati (bilo koji drugi izuzetak)  {
    prikazi poruku korisniku da nesto nije u redu.
}

Ono sta se postiže je da se za svaki izuzetak tok programa može nastaviti regularno.

Izbacivanje i hvatanje izuzetaka je relativno "skupa" operacija, i ovaj koncept ne treba koristiti za kontrolu toka progrma. Dakle (na primer)
Code:

if (promenljiva == null) {
   funkcija_1()
} else {
   funkcija_2()
}


a ne:

Code:

try {
   funkcija_2()
} catch (NullPointerException e) 
   funkcija_1()
}


Dakle, to su izuzeci. A tebi treba sledeća stvar (flag): Na događaj button_click postaviti neku boolean promenljivu na false, a u while petlji u niti ispitivati tu promenljivu, pa ako je false, izaći iz petlje.


OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

Chobicus
Pancevo

Član broj: 28286
Poruke: 135
82.117.206.*

ICQ: 31049018


+12 Profil

icon Re: throwException problem? pomozite...06.11.2006. u 09:12 - pre 211 meseci
Heh, drago mi je da necu sam da se pojavim u uchionici u novembarskom roku.

Shto se tiche zadatka i meni je bilo nerazumljivo to bacanje - hvatanje izuzetka da bi se prekinulo crtanje. Uradio sam kako je "Java Beograd" opisao u postu i mislim da je to ok.
Pogledaj Krausovu knjigu "Objektno orjentisani softver" ili primere sa njegovog sajta. Mislim da su ok primeri za rad sa nitima.
 
Odgovor na temu

unbeat
Milos silni

Član broj: 38473
Poruke: 26
*.adsl.verat.net.



Profil

icon Re: throwException problem? pomozite...07.11.2006. u 15:32 - pre 211 meseci
zabrinjavajuce, zaista.

deo teksta zadatka je ispravno prepisan ovde, tako da nemam reci. i ja sam u pocetku resio problem preko flag-a, ali sam verovao u ispravnost teksta zadakta i procesljao ceo net u nadi da cu negde naci nacin kako da komuniciram izmedju dve niti preko izuzetaka. meni nedelju dana ode u zaborav, u bezcenje i sta da se radi... zao mi je sto sam i Vama ovde oduzeo vreme.

pozdrav,
Milos Ignjatovic
Highlife - magazin za uspešne
http://www.highlife.rs
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9446
*.eunet.yu.



+10242 Profil

icon Re: throwException problem? pomozite...07.11.2006. u 20:44 - pre 211 meseci
"Sve ide u rok službe."
"Čovek se uči dok je živ"

Svi smo mi na forumu uglavnom kad nemamo pametija posla, tako da nije nikakva šteta.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

[es] :: Java :: throwException problem? pomozite...

[ Pregleda: 2678 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.