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.