Ha ott van a metodus szignaturajaban, hogy "throws LofaszException" akkor LofaszException-t dobhat az implementacio. Ha nincs ott a "throws" clause, akkor is dobhat ugyan akarmilyen exception-t, de az egyertelmuen hiba, hiszen a compiler mar az o oldalan is warningol, hogy figyelj-figyelj, te itt dobsz egy exception-t, de a metodus szignaturajaban ez nincs benne. Az implementacio nem implementalhat ugy fuggvenyt az interfeszrol, hogy mas (tobb vagy kevesebb) exception-t jelez a szignaturaban, mint ami az interfeszen van, mert akkor nem ugyanaz a metodus lesz.
Persze, vannak olyan fejlesztok, akik ezeket ignoraljak, de azzal nem sokat tudsz tenni. Mondjuk ugyanez a fejleszto eleg jo esellyel a javadoc-ba se fogja beletenni, hogy o most akkor _neha_ dob LofaszException-t is.
Figyelj, ami nincs ott a metodus szignaturajaban, arra nem kell feltetlenul keszulni. Mas kerdes, hogy ha mondjuk korabbi tapasztalatbol tudod, hogy az adott metodus altalaban dob ilyen meg olyan exceptionoket, de alapvetoen szerintem a Java-ban a metodus szignaturaja a contract, egy ismeretlen library eseteben kizarolag ahhoz kell tartani magadat. A dokumentacio az csak olyan, mint a MAV menetrend - tajekoztato jellegu, de lehet, hogy semmi koze a valosaghoz.
--
Blog | @hron84
Üzemeltető macik