Java-Exception

rale77

Aktivan član
Poruka
1.306
Jel moze neko ukratko da objasni kako se hvataju izuzeci u javi...
Da napise primer jednog try{.....throw....}
catch{....}
bloka.
Posto vise stvarno ne znam sta god uradim izbacuje:
unreported exception MyException; mast be cougth or declared to be thrown
Ovo je deo koda...

class{
.....
public static void main(String[] args) {
try{
.
.
.
if(a==b) throw new MyException("Desila se greska!!!");
}
catch (MyException ex) {
System.out.println("Greska!!!");
}

}

}

class MyException extends Exception {
MyException(String s)
{
super(s);
System.out.println(s);
}
}
 
Nadam se da ta klasa u okviru koje se nalazi main funkcija ima neko ime?

Ostalo je sve u redu, osim ako u izostavljenom delu se ne nalazi nešto što pravi problem. Ukoliko i dalje prijavljuje istu grešku pošalji kod obe klase da vidimo šta je uzrok ovoj grešci.
 
ma skontao sam ...treba posle prametara metoda navesti throws MyException inace u funkcji main imam pozive metoda koje mogu da bace Exception...pa zato nije radilo.....kakva glupost C++ Rules!!!
 
Lepo pitah šta je u kodu koji si izostavio, ali ti si se nešto bio ućutao.

Dakle, metoda u throws klauzuli mora da navede sve one exceptione koju može da podigne, a nisu uhvaćeni catch klauzulom u okviru koda. S druge strane ono što je obuhvaćeno catch klauzulom ne sme da bude navedene u throws klauzuli metode.

Dakle ovo je u redu
Kod:
public void myMethod() throws MyException {
  ...
  throw new MyException("Exception in myMethod.");
  ...
}
i ovo je u redu
Kod:
public void myMethod() {
  ...
  try {
	throw new MyException("Exception in myMethod.");
  } catch (MyException e) {
	...
  }
  ...
}
ali ovo nije
Kod:
public void myMethod() throws MyException {
  ...
  try {
	throw new MyException("Exception in myMethod.");
  } catch (MyException e) {
	...
  }
  ...
}
 

Back
Top