Utilizaţi clauza throws potrivită în clasa de bean EJB

Utilizaţi această regulă pentru a semnala metode de implementare EJB care au o clauză throws care nu se potriveşte cu metodele de interfaţă home sau remote. Clauzele throws trebuie să se potrivească, dacă nu compilatorul RMI generează erori şi nu poate genera stub-uri RMI. În scanerul de sursă este disponibilă o corecţie rapidă. Corecţia rapidă înlătură excepţia, NullPointerException, din următoarea metodă de implementare bean.

De exemplu, următoarea linie este definită în interfaţa remote (la distanţă):
Remote interface

public Object getEmployee(java.lang.String serialNumber)

throws RemoteException,
SQLException,
IllegalStateException;


Prin urmare, următoarea declaraţie de metodă este semnalată în clasa de implementare bean:
Bean implementation

public Object getEmployee(java.lang.String serialNumber)

throws SQLException,
IllegalStateException,
NullPointerException
{

// implementation

}

Doar clasele de implementare bean sunt semnalate de regulă şi modificate de corecţia rapidă. Dacă interfaţa este incorectă, modificaţi manual interfaţa prin adăugarea excepţiei lipsă. Apoi, rulaţi analiza din nou.

java.rmi.RemoteException nu este copiat de la interfaţă la implementarea bean-ului. Implementarea bean-ului nu va arunca RemoteException deoarece această acţiune este şi o încălcare de specificaţie EJB.

Dacă este adăugată o excepţie, importul este adăugat dacă poate fi rezolvat. Când o excepţie este înlăturată, importul nu este înlăturat în cazul în care este utilizat de către alte metode din clasă. S-ar putea să fie nevoie să organizaţi importurile după finalizarea corecţiilor rapide.

Erorile Java trebuie rezolvate în definiţia metodei înainte de a putea fi detectate clauzele throws care nu se potrivesc. Dacă sunt erori Java, corectaţi-le şi rulaţi analiza din nou.