Prikaz jedne poruke
Stara 11.4.2013, 2:48   #13
Lucic Nemanja
Starosedelac
 
Član od: 2.12.2005.
Lokacija: Beograd
Poruke: 1.241
Zahvalnice: 65
Zahvaljeno 76 puta na 49 poruka
Slanje poruke preko Skypea korisniku Lucic Nemanja
Određen forumom Re: Pocetnicko java pitanje

U javi sve izuzetke koje metoda može potencijalno baciti moraš navesti throws klauzulom u potpisu metode, ili staviti sve u try/catch blok.
U ovom slučaju FileWriter može baciti IOException, i to jednostavno moraš navesti u potpisu metode ako nećeš da pišeš try/catch. Naravno kako ovde govorimo o main metodi, podrazumeva se da ćeš pisati try/catch blokove. Međutim kad budeš pisao neke druge klase i njihove metode, gde je praksa da se izuzeci samo bacaju, a korisniku klasa se otavlja da ih obrađuje, moraš eksplicitno reći koje izuzetke metoda može da baca. To je tako u javi i tome se moraš povinovati .
Da dodam još, prilikom implementiranja interfejsa ili nasleđivanja apstraktnih klasa pri redefinisanju njihovih metoda dozvoljeno ti je da suziš skup izuzetaka koje metoda baca od onog deklarisanog u interfejsu/apstraktnoj klasi, ali nikako da proširiš. Tako da ako skapiraš usput pri redefinisanju metode da će ti bacati neki izuzetak i dodaš ga u throws klauzulu te metode, moraš dodati i u onoj koju redefinišeš iz interfejsa/apstraktne klase.
Lucic Nemanja je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Lucic Nemanja na korisnoj poruci:
krahi (11.4.2013)